Introduction

<aside> ⚠️ We are in a transition mode, switching our unit test runners from nose (which is no longer maintained) to pytest (which has an active community). Make note of the appropriate instructions below.

</aside>

Unit tests are an important part of our development and QA process. This guide will go over how to run unit tests for the codebase you’re working with.

Pytest vs. Nose

Historically, our codebases used nose as a test runner. This wrapped Python’s unittest module and added a number of capabilities through plugins.

Unfortunately, nose is no longer maintained, and its successor, nose2, is not sufficient for our projects.

pytest is quickly becoming the dominant, or at least the most active, testing framework. It provides a newer way of writing and running tests, and supports a wide range of plugins for aiding the test experience.

Running the Test Suite

See the appropriate guide for the version and project you want to test:

Running Python Tests with Pytest

Running Python Tests with Nose