Python coverage: Difference between revisions

From wikinotes
Line 14: Line 14:
<source lang="bash">
<source lang="bash">
# run coverage
# run coverage
coverage run -m pytest
coverage run \
coverage run \
     --source path/A \
     --source path/A \

Revision as of 01:35, 25 January 2022

Produce reports of which lines of code are not run by tests.

Documentation

official docs https://coverage.readthedocs.io

Usage

# run coverage
coverage run -m pytest

coverage run \
    --source path/A \
    --source path/B \
    --omit path/C

# combine coverage multiple reports into a single .coverage file
coverage combine .coverage1 .coverage2 ...

# produce XML report from a single .coverage file
coverage xml

# produce interactive HTML report (htmlcov/index.html)
coverage html

Excluding Code

Append a comment to a line to exclude it. If that statement is a block of code, the entire block will be excluded.

if __name__ == '__main__':   # pragma: no cover
    # not included in coverage report...