上下文

Coverage.py 5.0 可以在测试套件运行期间为不同的上下文记录单独的覆盖率数据。Pytest-cov 可以使用此功能通过 --cov-context=test 选项为每个测试分别记录覆盖率数据。

在 coverage.py 数据库中记录的上下文名称是 pytest 测试 ID 和执行阶段,分别是“setup”、“run”或“teardown”。这两个阶段用管道符号分隔。您可能会看到以下类型的上下文:

test_functions.py::test_addition|run
test_fancy.py::test_parametrized[1-101]|setup
test_oldschool.py::RegressionTests::test_error|run

请注意,参数化测试包含测试 ID 中的参数值,并且每组参数值都记录为一个单独的测试。

在使用 --cov-report=html 时查看上下文,请将以下内容添加到您的 .coveragerc 文件中:

[html]
show_contexts = True

HTML 报告将在每行覆盖的代码上包含一个注释,指示执行该行的上下文的数量。点击注释将显示上下文列表。