1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
========
Contexts
========
Coverage.py 5.0 can record separate coverage data for `different contexts`_ during
one run of a test suite. Pytest-cov can use this feature to record coverage
data for each test individually, with the ``--cov-context=test`` option.
.. _different contexts: https://coverage.readthedocs.io/en/latest/contexts.html
The context name recorded in the coverage.py database is the pytest test id,
and the phase of execution, one of "setup", "run", or "teardown". These two
are separated with a pipe symbol. You might see contexts like::
test_functions.py::test_addition|run
test_fancy.py::test_parametrized[1-101]|setup
test_oldschool.py::RegressionTests::test_error|run
Note that parameterized tests include the values of the parameters in the test
id, and each set of parameter values is recorded as a separate test.
To view contexts when using ``--cov-report=html``, add this to your ``.coveragerc``::
[html]
show_contexts = True
The HTML report will include an annotation on each covered line, indicating the
number of contexts that executed the line. Clicking the annotation displays a
list of the contexts.
|