зеркало из https://github.com/mozilla/fxa.git
chore(docs): Add E2E testing ADR
This commit is contained in:
Родитель
f26b465a6c
Коммит
b6a2e0f3c4
|
@ -0,0 +1,66 @@
|
|||
# Use existing InternJS for functional testing in settings v2
|
||||
|
||||
- Deciders: Vijay Budhram, Jody Heavener, Lauren Zugai
|
||||
- Date: 2020-07-17
|
||||
|
||||
## Context and Problem Statement
|
||||
|
||||
For over the past 5 years (at least), we have been using [InternJS](https://github.com/theintern/intern) for our functional tests in the content-server. While this has worked well and caught several bugs, we should reevaluate it since we are migrating to react and have an opportunityto use newer/faster/better supported testing frameworks.
|
||||
|
||||
## Decision Drivers
|
||||
|
||||
- Ease of writing tests
|
||||
- Good community support
|
||||
- Learning curve of settings V2 development
|
||||
|
||||
## Decision Outcome
|
||||
|
||||
Use InternJS for functional testing in the settings v2 app, but also update the tests to support async/await. The biggest factor was not having to introduce another testing framework for developers to learn.
|
||||
|
||||
## Considered Options
|
||||
|
||||
- Option A - Use InternJS and update to async/await
|
||||
- Option B - Use [NightmareJS]()
|
||||
- Option C - Use [WebDriverIO](https://webdriver.io/)
|
||||
|
||||
## Pros and Cons of the Options
|
||||
|
||||
### Option A - Use InternJS and update to async/await
|
||||
|
||||
Pros:
|
||||
|
||||
- Active community
|
||||
- Can reuse the testing patterns from content-server
|
||||
- Lots of examples and helper functions to help write tests
|
||||
- Developers won't have to context switch with testing frameworks
|
||||
|
||||
Cons:
|
||||
|
||||
- Still requires a learning curve to understand how things work and are structured
|
||||
- It's kind of clunky, would be a lot of effort to go refactor all tests to async/await and could be better to just rewrite them with another library
|
||||
- It's an older framework, a newer framework may offer greater support and features
|
||||
- Our tests are a little flaky, can another framework help mitigate false failures from CI?
|
||||
|
||||
### Option B - Use NightmareJS
|
||||
|
||||
Pros:
|
||||
|
||||
- Claims to be 2x faster than PhantomJS
|
||||
|
||||
Cons:
|
||||
|
||||
- Developers/QA will have to learn a new testing framework on top of all the other new frameworks introduced
|
||||
- Is chromium based
|
||||
|
||||
### Option C - Use WebDriverIO
|
||||
|
||||
Pros:
|
||||
|
||||
- Active community
|
||||
- Used by other Mozilla services
|
||||
- Simple API
|
||||
- Solid documentation
|
||||
|
||||
Cons:
|
||||
|
||||
- Developers/QA will have to learn a new testing framework on top of all the other new frameworks introduced
|
Загрузка…
Ссылка в новой задаче