Testing¶
All code provided by a third party that is intended to be run in a production environment should be adequately tested.
Testing is generally split between two distinct styles:
- Unit tests can be set to run automatically against pull requests in GitHub using CI.
- Functional tests can be set to run automatically on deployment and run in multiple browsers.
Unit Testing¶
- Backend code should be unit tested. For Python we suggest using pytest.
- JavaScript code should also be unit tested. When run in the browser, we
suggest using Karma and Jasmine. For Node, either Mocha or Jest are good options.
Functional Testing¶
- For cross-browser functional testing we suggest using Selenium
with pytest-selenium.