Python coverage

From wikinotes
Revision as of 01:44, 25 January 2022 by Will (talk | contribs) (→‎Usage)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

Documentation

official docs https://coverage.readthedocs.io

Usage

write report to .coverage

# run coverage
coverage run -m pytest

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

coverage reports

# 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)
# qutebrowser 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...