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
File details
Details for the file unittest-parallel-1.6.1.tar.gz
.
File metadata
- Download URL: unittest-parallel-1.6.1.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbd8aee80eab882cbf1a0acf397658bb2b9beaa4ccf68cf78376f6a1f3d3688f |
|
MD5 | 52b846786cb476bcbb439dce806531af |
|
BLAKE2b-256 | 36b34228d6789746ed4d5dcc1bd0afd0a39722da59f19743aa647d3c72237dc7 |
File details
Details for the file unittest_parallel-1.6.1-py3-none-any.whl
.
File metadata
- Download URL: unittest_parallel-1.6.1-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5a8885e3df0e275d1cea579e91386a3b423922946eca6b175ad1fd06c3ea2e1 |
|
MD5 | 087a117ebd1b17fce4cad0fdd74985f6 |
|
BLAKE2b-256 | 0a931d9029d5690db5aefeb022fd16fbba06061c43aa583438455ca0aa2cab4c |