unit/integration tests
Targeting dev experience.
Pros
- Speed of execution
- Speed of development
- Execution environment is ready
- Dev CI/CD integration
Cons
- No real browser behind
- Heavy Mocking can apply
- Sometimes needs to be adjusted when main logic changes(so we need to be thoughtful what are we using them for).
- Missing UI test
smoke tests
Those are great for doing UI tests without a need of building whole extension
Pros
- Fast manual UI testing.
Cons
- It's manual.
end-to-end test
Pros
- Automated tests in the browser.
- Close to real world environment
Cons
- Quite heavy.
- No way to run headless for testing web extensions.
- Quite tricky to test popup.
Plan for testing
unit/integration tests
- Various scrapping scenarios that rely on DOM API.
Smoke tests
- Manual UI testing For React components.
end-to-end tests
- Real world tests, which are hard to test with other tests (ex. playbooks targeting circumventing websites)
Note:Â Considering how heavy Bardeen and end-to-end tests can become, we should be mindful when to rely on those.
e2e testing tools comparison