2016-11-29 10 views
0

以下のシナリオは私のためには機能しません。SonarQube:新しいコードでの品質ゲートのカバー

T1以下で説明するように、私は2つの分析T1およびT2を行っ:13.6%カバレッジのコードを分析しSonarQubeサーバに送信されます。ここでは、スキャナのパラメータとして/d:sonar.projectDate=2016-11-24を使用しています。 t1のコード行は61行です。

enter image description here

t2は:dateパラメータを削除しました。カバレッジなしで新しいコードを追加し、重複した行を追加しました。 t2のコード行は158行です。カバレッジは3.8%に減少しました。期待されるカバレッジなしで多くのコードが導入されたことを意味します。

enter image description here

質問:

  1. はなぜ品質ゲートはまだ失敗していませんか?私は、ローカルインスタンスでデフォルトの品質ゲートを使用しています。 80%以下のものは品質ゲートに失敗するはずです。
  2. 私は、これが機能するにはSCMを有効にする必要があると人々が言うところの他の記事を参照してください。関係は何でしょうか?誰かが、新しいコードのこのカバレッジが実際にどのように計算されるかを知っていますか?
  3. "common-cs:InsufficientLineCoverage"を有効にすると、品質ゲートが失敗します。しかし、それは品質ゲートに存在するthresoldに関連していない、それはデフォルトで65%であるルールのthresoldに従います。

それが起こるコンテキスト:既定プロファイルと

  1. ローカルインスタンスと品質ゲイツ
  2. SonarQube 6.1
  3. スキャナ2.2.0.24
  4. C#プラグイン5.5.0.479

答えて

1
  • E新しいコードが何であるか、SonarQubeはSCMに依存して提供された情報(日付をコミット)sonar.projectDateパラメータが倍
  • の異なる時点で作成された問題の進展を持っているプロジェクトの歴史を書き換えるために使用される
  • 場合は、あなたがすることはできません SCM plugin(なぜそうではありませんか?)を使用し、全体のカバレッジが80%より低い場合、品質ゲートを変更してください。プロジェクトカバレッジが80%を下回っている限り、Quality Gateは失敗します。
+0

なぜSCMプラグインですか?私はそれを必要としなかったsonarqube + sonarlint機能の小さなデモを準備していました。しかしなぜSCM Pluginではなく、なぜあなたが既にprojectDateを持っている場合に、なぜ外部のプラグインに依存するか、カップルになるかという質問をします。または、ユーザーがどちらを使用するかを決めるのはなぜですか? –

関連する問題