插件覆盖率¶
在 pytest 插件上获取覆盖率是一个非常特殊的情况。由于 pytest 实现插件的方式(使用 setuptools entrypoints),它不允许控制插件加载的顺序。有关技术细节,请参阅 pytest/issues/935。
处理此问题的当前方法是使用 append 功能并手动启动 pytest-cov
的引擎,例如
COV_CORE_SOURCE=src COV_CORE_CONFIG=.coveragerc COV_CORE_DATAFILE=.coverage.eager pytest --cov=src --cov-append
或者,您也可以在 tox.ini
中使用此方法(如果您使用的是 Tox 的话)
[testenv]
setenv =
COV_CORE_SOURCE=
COV_CORE_CONFIG={toxinidir}/.coveragerc
COV_CORE_DATAFILE={toxinidir}/.coverage
以及在 pytest.ini
/ tox.ini
/ setup.cfg
中
[tool:pytest]
addopts = --cov --cov-append