Parallel unit test runner with coverage support
Project description
unittest-parallel
unittest-parallel is a parallel unit test runner for Python with coverage support.
Links
Run Unit Tests in Parallel
To run unittest-parallel, specify the directory containing your unit tests with the -s
argument
and your package's top-level directory using the -t
argument:
unittest-parallel -t . -s tests
By default, unittest-parallel runs unit test modules on all CPU cores available.
To run your unit tests with coverage, add either the --coverage
option (for line coverage) or the
--coverage-branch
for line and branch coverage.
unittest-parallel -t . -s tests --coverage-branch
Parallelism Level
By default, unittest-parallel runs test modules in parallel, which works with
test class and module fixtures.
If you don't have any module fixtures, you can use the --level=class
option to run test classes in
parallel. If you don't have any module or class fixtures, you can use the --level=test
option to
run individual tests in parallel.
Do I Need unittest-parallel?
unittest-parallel helps the most when you have many long-running unit tests, such as those that make web service calls or are compute-intensive. If you just have many fast-running unit tests, unittest-parallel may slow down unit test execution due to the cost of parallelization.
For example, for one of my projects with thousands of compute-intensive unit tests, running tests with unittest-parallel is five times faster than running tests using Python's built-in unit test runner.
For another project, with hundreds of fast-running unit tests, running tests using unittest-parallel is twice as slow as running them using Python's built-in unit test runner.
To determine if unittest-parallel will improve your unit test run times, you'll need to try it on your project.
Development
This package is developed using python-build. It was started using python-template as follows:
template-specialize python-template/template/ unittest-parallel/ -k package unittest-parallel -k name 'Craig A. Hobbs' -k email 'craigahobbs@gmail.com' -k github 'craigahobbs' -k noapi 1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for unittest_parallel-1.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5a8885e3df0e275d1cea579e91386a3b423922946eca6b175ad1fd06c3ea2e1 |
|
MD5 | 087a117ebd1b17fce4cad0fdd74985f6 |
|
BLAKE2b-256 | 0a931d9029d5690db5aefeb022fd16fbba06061c43aa583438455ca0aa2cab4c |