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:

  1. Unit tests can be set to run automatically against pull requests in GitHub using CI.
  2. 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.