如何找到哪些分支没有被测试覆盖?
How to find which branches are not covered by tests?
我正在测量小型 Python 应用程序的代码覆盖率。
虽然线路覆盖率是100%,但分支覆盖率不是。问题是 coverage
不会给我任何关于未被覆盖的分支位置的指示。
coverage run
--branch
--omit=/usr/lib/python3/dist-packages/*,tests/*
-m unittest discover
returns:
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
列包含对应于七个遗漏分支的行,但那里什么也没有。
我应该如何找到它们?
-m
将只包含 "full" 未命中,不包含分支未命中。您可以使用命令
coverage html
创建一组 HTML 页面,其中包括所有覆盖范围的突出显示,包括分支未命中。参见例如this example of HTML reporting, from the documentation.
如果您有足够的勇气尝试预发布版本,coverage.py4.0 也会在文本报告中显示缺少的分支。
我正在测量小型 Python 应用程序的代码覆盖率。
虽然线路覆盖率是100%,但分支覆盖率不是。问题是 coverage
不会给我任何关于未被覆盖的分支位置的指示。
coverage run
--branch
--omit=/usr/lib/python3/dist-packages/*,tests/*
-m unittest discover
returns:
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
列包含对应于七个遗漏分支的行,但那里什么也没有。
我应该如何找到它们?
-m
将只包含 "full" 未命中,不包含分支未命中。您可以使用命令
coverage html
创建一组 HTML 页面,其中包括所有覆盖范围的突出显示,包括分支未命中。参见例如this example of HTML reporting, from the documentation.
如果您有足够的勇气尝试预发布版本,coverage.py4.0 也会在文本报告中显示缺少的分支。