File: contexts.rst

package info (click to toggle)
python-pytest-cov 5.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 424 kB
  • sloc: python: 2,338; makefile: 6
file content (29 lines) | stat: -rw-r--r-- 1,163 bytes parent folder | download
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.