使用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%
如何以编程方式从coverage结果数据中访问87
的值,以用作其他程序的输入?
答案 0 :(得分:5)
我会假设您已经运行
$ coverage run my_program.py arg1 arg2
并希望使用它测量的数据。 Coverage.report()
将总数作为浮点数返回(如果您愿意,可以将其作为整数百分比)。
但该功能在屏幕上打印报告。为了避免这种情况,我们将打开一个文件对象到空设备来吸收它。
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))