7

我正在测量一个小型 Python 应用程序的代码覆盖率。

虽然线路覆盖率是 100%,但分支覆盖率不是。问题是这coverage不会给我任何关于没有被覆盖的分支位置的迹象。

coverage run
    --branch
    --omit=/usr/lib/python3/dist-packages/*,tests/*
    -m unittest discover

返回:

Ran 33 tests in 0.079s

OK
Name              Stmts   Miss Branch BrMiss  Cover   Missing
-------------------------------------------------------------
app/__init__          1      0      0      0   100%   
app/file_finder      93      0     40      0   100%   
app/zipper           66      0     46      7    94%   
-------------------------------------------------------------
TOTAL               160      0     86      7    97%   

我希望Missing列包含与七个错过的分支相对应的行,但那里什么都没有。

我应该如何找到它们?

4

2 回答 2

7

-m将仅包括“完整”未命中,而不包括分支未命中。你可以使用命令

coverage html

创建一组 HTML 页面,包括突出显示所有覆盖范围,包括分支未命中。例如,参见文档中的 HTML 报告示例

于 2015-02-04T16:42:53.063 回答
4

如果你有足够的勇气尝试预发布版本,coverage.py 4.0 也会在文本报告中显示缺失的分支。

于 2015-02-04T22:12:21.560 回答