SonarQube - 条件覆盖范围实际上是分支覆盖范围?

时间:2014-11-12 08:42:38

标签: sonarqube metrics

SonarQube描述了"条件"这样的报道:

在包含一些布尔表达式的每行代码中,条件覆盖只是回答以下问题:'是否已将每个布尔表达式都评估为true和false?'。这是在单元测试执行期间遵循的流控制结构中可能的分支密度。

http://docs.codehaus.org/display/SONAR/Metric+definitions

嗯,但我怀疑他们的意思是"分支覆盖":

if(A || B || C)

测试A = true且B = true产生100%,而无需检查最后一个表达式(C)。此外,只测试了两个分支 - 整个表达式的true和false,而不是单个表达式。是吗?

据我所知,条件覆盖应检查表达式中的所有条件。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

对我来说SonarQube 5.6 条件覆盖率路径覆盖 非常相同,例如:在这里:http://www.onjava.com/pub/a/onjava/2007/03/02/statement-branch-and-path-coverage-testing-in-java.html?page=2

例如,我的测试报告指出,在检查两个布尔标志的if条件下,它坚持在达到100%覆盖率之前必须检查所有4种可能的组合。