编写单元测试以检查 python 中的代码覆盖率

Write unit test for checking code coverage in python

我需要使用 python 中的 unittest 编写测试,当覆盖率低于 50% 时该测试失败。 如:

class ExampleTest(unittest.TestCase):

def setUp(self):
    cov = coverage.Coverage()
    cov.load()
    with open(os.devnull, "w") as f:
        self.total = cov.report(file=f)

def test_compare_values(self):
    self.assertGreaterEqual(self.total, 20)

但是当测试 运行 文件覆盖率被锁定并且无法打开。

如何解决这个问题?

不要试图从测试中读取覆盖率数据。而是在覆盖率报告命令中使用 --fail-under=50 选项。