28

ラインカバレッジとブランチカバレッジの違いはわかっていますが、コードカバレッジとラインカバレッジの違いは何ですか?前者の指導範囲はありますか?

4

2 に答える 2

44

カバレッジは微妙です ;-) ライン カバレッジとブランチ カバレッジの組み合わせです。

メトリックの説明ページで式を見つけることができます。

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)
于 2012-07-19T14:05:04.547 に答える
3

答えを拡張するには、次の用語についてのみソナーにクエリを実行できます。

  1. condition_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

上記のメトリック値を取得するには、Sonar ドリルダウンまたは 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

このブログ投稿には追加情報があります

于 2015-10-10T01:17:38.470 に答える