Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使pytest仅在完整测试套件运行时要求代码覆盖率_Python_Pytest_Code Coverage_Coverage.py_Test Coverage - Fatal编程技术网

Python 使pytest仅在完整测试套件运行时要求代码覆盖率

Python 使pytest仅在完整测试套件运行时要求代码覆盖率,python,pytest,code-coverage,coverage.py,test-coverage,Python,Pytest,Code Coverage,Coverage.py,Test Coverage,我用的是 # .coveragerc fail_under = 100 及 使我的测试套件能够运行覆盖率,如果覆盖率不是100%,则会失败 这是可行的,但问题是如果我只运行测试的一个子集,比如 pytest some/specific/test.py 然后它抱怨覆盖率不是100%,因为一个测试文件当然不能覆盖整个代码库。是否有更好的方法使pytest运行覆盖率更高,但仅限于在运行完整的测试套件时 通过在命令中添加以下标志,可以临时覆盖.coveragerc: --cov在=x下失效 其中x

我用的是

# .coveragerc
fail_under = 100

使我的测试套件能够运行覆盖率,如果覆盖率不是100%,则会失败

这是可行的,但问题是如果我只运行测试的一个子集,比如

pytest some/specific/test.py

然后它抱怨覆盖率不是100%,因为一个测试文件当然不能覆盖整个代码库。是否有更好的方法使pytest运行覆盖率更高,但仅限于在运行完整的测试套件时

通过在命令中添加以下标志,可以临时覆盖
.coveragerc

--cov在=x下失效
其中x是失败的百分比(如果将其设置为0,它将永远不会基于代码覆盖率失败)

因此,在您的情况下,您将运行:

pytest some/specific/test.py--cov在=x下失败
pytest some/specific/test.py