python - 如何以编程方式访问 coverage.py 结果?

标签 python coverage.py

使用 coverage.py我可以生成如下所示的报告:

Name                      Stmts   Miss  Cover   Missing
-------------------------------------------------------
my_program.py                20      4    80%   33-35, 39
my_other_module.py           56      6    89%   17-23
-------------------------------------------------------
TOTAL                        76     10    87%

如何以编程方式从覆盖率结果数据中访问 87 的值以用作另一个程序的输入?

最佳答案

我假设你已经跑了

$ coverage run my_program.py arg1 arg2

并想使用它测得的数据。 Coverage.report() 将总数作为 float 返回(您可以采用它,也可以根据需要将其四舍五入为整数百分比)。 但是该函数会在屏幕上打印一份报告。为避免这种情况,我们将打开一个文件对象到空设备以吸收它。

import coverage
import os
cov = coverage.Coverage()
cov.load()

with open(os.devnull, "w") as f:
    total = cov.report(file=f)

print("Total: {0:.0f}".format(total))

关于python - 如何以编程方式访问 coverage.py 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35224643/

相关文章:

python - 如何从嵌套字典中查找列表组合

python - 如何使用 coverage.py 在 Django-Python 中实现像 Ruby-Rails 这样的覆盖率报告?

nosetests - 如何告诉 Nose 和覆盖范围不要在我的 virtualenv 中包含文件?

python - django 删除模板中的硬编码 URL

python - 了解 tensorflow 切片操作

python - 在 circleci 中使用 Python 3.6.0

Python ~ 访问模板类中的元组成员

django - 工作服 : Error- No source for in my application using Docker container

python - 为什么coverage.py 不能正确测量Django 的runserver 命令?

python - Django 项目的代码覆盖率