我正在使用类似的东西
# .coveragerc
fail_under = 100
和
# pytest.ini
[pytest]
addopts = --cov=modname/ --cov-report=term-missing
让我的测试套件运行覆盖率,如果不是 100%,则失败。
这行得通,但问题是如果我只运行测试的一个子集,比如
pytest some/specific/test.py
然后它提示说覆盖率不是 100%,因为一个单独的测试文件当然不能覆盖整个代码库。有没有更好的方法来使 pytest 运行覆盖,但只有在运行完整的测试套件时?
最佳答案
您可以通过在您的命令中添加以下标志来临时覆盖您的 .coveragerc
:
--cov-fail-under=x
其中 x 是失败的百分比(如果将其设置为 0,则根据代码覆盖率永远不会失败)
因此,在您的情况下,您将运行:
pytest some/specific/test.py --cov-fail-under=x
关于python - 使 pytest 仅在完整测试套件运行时才需要代码覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61880294/