是什么在声纳代码覆盖率与行覆盖率之间的区别(What is the difference betwe

2019-07-30 11:48发布

我知道其中的差别是什么线和分支覆盖之间,但什么样的代码覆盖率和覆盖线之间的区别? 是原指令覆盖?

Answer 1:

覆盖面线和分支覆盖的微妙;-)组合。

你可以找到我们的公式指标说明页面 :

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

where

CT - branches that evaluated to "true" at least once
CF - branches that evaluated to "false" at least once
LC - lines covered (lines_to_cover - uncovered_lines)

B - total number of branches (2*B = conditions_to_cover)
EL - total number of executable lines (lines_to_cover)


Answer 2:

为了扩大对答案,你只能查询这些条款声纳:

  1. conditions_to_cover
  2. uncovered_conditions
  3. lines_to_cover
  4. uncovered_lines

然后你就可以隐蔽上面使用这些公式的条件:

CT + CF = conditions_to_cover - uncovered_conditions
2*B = conditions_to_cover
LC = lines_to_cover - uncovered_lines
EL = lines_to_cover

您可以使用声纳追溯或REST API来获取上面的度量值:

http://my.sonar.com/drilldown/measures/My-Project-Name?metric=line_coverage 

http://my.sonar.com/api/resources?resource=55555&metrics=ncloc,conditions_to_cover,uncovered_conditions,lines_to_cover,uncovered_lines,coverage,line_coverage,branch_coverage,it_conditions_to_cover,it_uncovered_conditions,it_lines_to_cover,it_uncovered_lines,it_coverage,it_line_coverage,it_branch_coverage,overall_conditions_to_cover,overall_uncovered_conditions,overall_lines_to_cover,overall_uncovered_lines,overall_coverage,overall_line_coverage,overall_branch_coverage

本博客文章有其他信息: http://sizustech.blogspot.com/2015/10/making-sense-of-sonar-qube-stats-like.html



文章来源: What is the difference between code coverage and line coverage in sonar