我注意到所有没有控制流的测试(例如if,else,switch等)都显示100%的分支覆盖率,因为代码块中没有分支。例如
def foo = {
println("Hello World!")
}
显示100%分支覆盖率和0%语句覆盖率。这是由于0/0分支覆盖。从我的眼睛看,我在上面的测试用例中看到了一个分支,所以即使没有控制流,也不应该有一个分支?
答案 0 :(得分:1)
我猜它的语义。代码只能遵循一条路径 - 所以它永远不会“分支”。或者你认为整个事情是一个分支。
如果你的火车轨道是一条直线,它有多少个分支?
这有2个分支,还是3个?
def foo = {
if (b)
println("1")
else
println("2)
}
至少我认为我们可以更新scoverage,以便你的例子是100%的分支覆盖率,但它应该说0分支或1 ...