2012-03-07 10 views
2

Coberturaには<cobertura:check>というタスクがあります。このタスクは、ビルド時にカバレッジを強化するために使用できます(カバレッジメトリックが一定値を下回ると、ビルドに失敗します)。ウェブサイトでは、利用可能ないくつかの異なる属性を持つ例を示しているが、実際に彼らが何であるかにような説明を与えるか、またはどのような彼らは行いません。Cobertura Check&Validation

など
  • branchrate
  • linerate
  • totalbranchrate

また、これらの各属性の標準値はどのようなものですか。私はそれがプロジェクト間で異なると確信していますが、がある必要があります。組織が受け入れられるものと受け入れられないものを測定する方法と、それに到達する方法が不思議です。前もって感謝します。

答えて

0

おそらくthe documentationがあなたの質問から変更されました。私はあなたの答えが今すぐそこにあると思うからです。

私はこれを書いている時点で、あなたの特定の質問に対する回答は以下のとおりです。

  • branchrate

各クラスで必要な最小許容分岐カバレッジ率を指定します。これは、各クラスによって必要とされる最小許容ラインカバレッジレートを指定

回線レート

0〜100の整数値でなければなりません。これは、全体として、プロジェクトで必要とされる最小許容平均分岐網羅率を指定

totalbranchrate

0〜100の整数値でなければなりません。

branchrate、linerate、totalbranchrateまたはtotallinerateを指定しない場合、Coberturaはこれらの値すべてに50%を使用します。

グーグルでは、「良好な」カバレッジ数が75%〜95%のどこかにあるとほとんどの人が同意しています。私は新しいプロジェクトに%85を使用します。しかし、十分なテストカバレッジがあるかどうかを判断するには、開発者がコードに変更を加えたり解放したりするのがどれほど快適であるか(バグを導入する責任がある開発者がいると仮定して)どのテストでも1回のアサーションなしで100%のテストカバレッジを得ることができます。

レガシープロジェクトの場合、通常は状況がより複雑になります。カバレッジだけに焦点を当てるだけの時間を取ることはほとんどありません。ほとんどの場合、コードカバレッジが何であるかを把握し、時間の経過とともに改善してください。私の夢のcobertura-checkタスクは、指定された行/メソッド/クラス/パッケージ/プロジェクトのカバレッジが最後のビルドと同じか、それ以上であるかどうかをチェックし、 "このビルドで新しくなった"コードに対しては別々のスレッショルドを持っています。たぶんSonarにはそのようなものがあります...