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

时间:2014-08-07 14:09:04

标签: scala code-coverage scoverage

我注意到所有没有控制流的测试(例如if,else,switch等)都显示100%的分支覆盖率,因为代码块中没有分支。例如

def foo = {
println("Hello World!") 
}

显示100%分支覆盖率和0%语句覆盖率。这是由于0/0分支覆盖。从我的眼睛看,我在上面的测试用例中看到了一个分支,所以即使没有控制流,也不应该有一个分支?

1 个答案:

答案 0 :(得分:1)

我猜它的语义。代码只能遵循一条路径 - 所以它永远不会“分支”。或者你认为整个事情是一个分支。

如果你的火车轨道是一条直线,它有多少个分支?

这有2个分支,还是3个?

def foo = {
  if (b) 
   println("1")
  else
   println("2)
}

至少我认为我们可以更新scoverage,以便你的例子是100%的分支覆盖率,但它应该说0分支或1 ...