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