Contexts 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.

The context name recorded in the 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:|run[1-101]|setup|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.