Parallel unit test runner for Python3 with coverage support
Project description
unittest-parallel
unittest-parallel is a parallel unit test runner for Python with coverage support.
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 tests 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
The coverage module is required for coverage support.
How it works
unittest-parallel uses Python's built-in unit test discovery to find all the test suites (TestCase classes) in your project. It then runs each test suite in a Python multi-processing pool of the requested size. Thus, the more test suites your unit tests are broken into, the better parallelization you'll get in your unit test runs.
Links
Usage
usage: unittest-parallel [-h] [-v] [-q] [-b] [-j COUNT] [--version] [-s START]
[-p PATTERN] [-t TOP] [--coverage]
[--coverage-branch] [--coverage-rcfile RCFILE]
[--coverage-include PAT] [--coverage-omit PAT]
[--coverage-source SRC] [--coverage-html DIR]
[--coverage-xml FILE] [--coverage-fail-under MIN]
options:
-h, --help show this help message and exit
-v, --verbose Verbose output
-q, --quiet Quiet output
-b, --buffer Buffer stdout and stderr during tests
-j COUNT, --jobs COUNT
The number of test processes (default is 0, all cores)
--version show version number and quit
unittest options:
-s START, --start-directory START
Directory to start discovery ('.' default)
-p PATTERN, --pattern PATTERN
Pattern to match tests ('test*.py' default)
-t TOP, --top-level-directory TOP
Top level directory of project (defaults to start
directory)
coverage options:
--coverage Run tests with coverage
--coverage-branch Run tests with branch coverage
--coverage-rcfile RCFILE
Specify coverage configuration file
--coverage-include PAT
Include only files matching one of these patterns.
Accepts shell-style (quoted) wildcards.
--coverage-omit PAT Omit files matching one of these patterns. Accepts
shell-style (quoted) wildcards.
--coverage-source SRC
A list of packages or directories of code to be
measured
--coverage-html DIR Generate coverage HTML report
--coverage-xml FILE Generate coverage XML report
--coverage-fail-under MIN
Fail if coverage percentage under min
Development
This project is developed using Python Build. Refer to the Python Build documentation for development instructions.
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
File details
Details for the file unittest-parallel-1.0.1.tar.gz
.
File metadata
- Download URL: unittest-parallel-1.0.1.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2678e8ab9cdeceecdbf0e05d4d6a461fab65e742a1e6b741039067c0512c5ec1 |
|
MD5 | b8338e2d8059a6b79d630a8e175a9250 |
|
BLAKE2b-256 | 67f67690a624a69f1eabd3ff1ee7a4580c76c72e3d64a16ec8b9e402f0b6c056 |