覆盖范围:来自分支覆盖的模糊度量



我注意到所有没有控制流的测试(如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…

最新更新