声纳 - 整体覆盖范围

时间:2013-10-07 03:13:24

标签: code-coverage sonarqube metrics

Sonar给出了整体覆盖的值,它是线和分支覆盖的组合。我不确定这个指标有多重要。整体覆盖的价值意味着什么?它如何比线和分支覆盖更好?任何的意见都将会有帮助。

2 个答案:

答案 0 :(得分:4)

来自Sonar的文档:

  

这是线路覆盖和条件覆盖的混合。它的目标是   为以下问题提供更准确的答案:如何   大部分源代码都已经过单元测试了吗?

Coverage = (CT + CF + LC)/(2*B + EL)

where

CT = conditions that have been evaluated to 'true' at least once
CF = conditions that have been evaluated to 'false' at least once
LC = covered lines = lines_to_cover - uncovered_lines

B = total number of conditions
EL = total number of executable lines (lines_to_cover)

来源:https://docs.sonarqube.org/display/SONAR/Metric+Definitions#MetricDefinitions-Tests

答案 1 :(得分:3)

以下是计算整体覆盖范围的方法:https://docs.sonarqube.org/display/SONAR/Metric+Definitions#MetricDefinitions-Tests

如果分支覆盖范围低于线路覆盖范围(因此低于整体覆盖范围),则意味着您的单元测试主要情况但不是真正的极端情况。