【发布时间】:2016-09-15 04:53:26
【问题描述】:
我正在使用coverage.py 来衡量我的测试的代码覆盖率。我已启用分支覆盖,但我无法完全理解报告。
没有分支覆盖,我得到 100% 的覆盖:
Name Stmts Miss Cover Missing
------------------------------------------------------------
mylib/queries.py 44 0 100%
启用分支覆盖:
Name Stmts Miss Branch BrPart Cover Missing
--------------------------------------------------------------------------
mylib/queries.py 44 1 20 3 94% 55, 21->10, 53->-48, 59->-58
有问题的来源可以在here找到。
21->10 有道理; if 子句永远不会计算为 False (跳回到外部 for 循环的开头)。
但是,53->-48 和 59->-58 让我摸不着头脑。它们是什么意思?
【问题讨论】:
-
它可能是该 for 循环内的一个空列表,因此它永远不会执行循环内的代码。
-
嗯,是的,在我提供的测试用例中,循环总是有一些需要咀嚼的东西。那么缺少的“分支”是空集的情况吗?
标签: python coverage.py python-coverage