2017-01-21 9 views
1

最近SonarQubeをバージョン6.2にインストールしました。私はコード・カバレッジ・メトリックが劇的に減少していることに気付きました。カバレッジの詳細では、@codeCoverageIgnore注釈付きのファイル、またはインターフェイスにはカバーされていない行があります。 Sonarはすべてのファイルsonar.sourcesで、sonar-project.propertiesを指している(PHPUnitのxml出力ログからの)カバーライン数でカバレッジを計算したようです。Sonarqube 6.2とPHPプラグインで不適切なカバレッジ

私のサーバーにSonarQubeをインストールする前に、公式のDockerイメージで実行されているバージョン6.1で遊んでいましたが、これは魅力的なものでした。

私はので、多分、私が何か間違ったことをやっているような問題に関連した未解決の問題/ティッカー/同様の質問を見つけませんしました。

詳細:

  • PHPUnitの5.7.5は、コマンドを実行している:

phpunit --coverage-clover=build/phpunit.coverage.xml --log-junit=build/phpunit.log.xml

  • SonarQube 6.2(公式のaptリポジトリからインストール)
  • SonarQubeスキャナ2.8
  • だからカバレッジは上の「強制的にゼロにする」ことができるように(上記と)バージョンの組み合わせが、「実行可能な行」のデータを供給するのであなたのカバレッジ番号はSonarQube 6.2とSonarPHP 2.9.2を落としnarQubeのPHPプラグイン2.9.2.1744

答えて

1

カバレッジレポートに含まれていないファイル

I.E. SonarQube 6.2は、あなたの真のカバレッジレシオをより正確に把握できるように設計されています。その前には、カバレッジエンジンによって供給されるファイルおよびラインのリストに依存しなければならず、多くのカバレッジエンジンは、テストされるラインのないファイルを単に無視する(すなわち、レポートには含まない)。この場合、SonarPHPのコードアナライザは、カバレッジエンジンで無視されたすべてのファイルに対して実行可能な行のリストを提供しています。したがって、カバーされていない行の割合が大きくなり、カバレッジ率が低下します。

  1. は、より多くのテストを書く:あなたはあなたのカバレッジ番号は、彼らが何であったかに戻りたい場合は

    は、次の2つの選択肢を持っています! ;-p

  2. 真のカバレッジ・レシオのアイデア:)お返事を覆われていないファイルに対して
+0

感謝をexclusionsを追加することはかなり良いではありませんが、インタフェースを使用したファイルがすべてで覆われていないとき、ちょっと奇妙だと何がありますこれを修正する方法(除外のみ)。私は、新しいコードがラインを明らかにしたという誤った警告を受け取り、無視するのではなく修正すべきファイルを見つけるのが難しい場合があります。私は、ソナーが間違っていると考えているので、私のチームが報告された問題を放棄し始めるのではないかと思うので、それを見る価値はありません。 –

+0

このようなFPを[SonarQube Google Group](https://groups.google.com/forum/?pli=1#!forum/sonarqube)に報告してください。 –

関連する問題