2017-08-08 14 views
2

私はカバレッジレポートのためにjacocoを使用します。ジャココの報告書を見ると、報道は良いようです。しかしSonarqubeでは、@Dataのロンボクからの注釈はテストによってカバーされていないと言われているため、報道は低いです。ロンボクのためSonarqube不良カバレッジ@Data

コンパイルされたクラスは@Generatedというマークですが、Sonarでは無視されません。

分析の除外方法@Dataをどうすれば除外できますか?

+0

これを試しましたかhttps://docs.sonarqube.org/display/SONAR/Narrowing+the+Focus#Focus-IgnoreIssuesonFiles? – mgyongyosi

+0

ファイルの問題は無視しますが、ファイル全体を無視します。私はこの振る舞いを望まない。 @Generatedでアノテートされた除外メソッドをご希望の場合 –

+0

[Lombok、Gradle、Jacoco、Sonarによるフィルタリング対象範囲]の複製が可能です(https://stackoverflow.com/questions/48501606/filtering-coverage-with-lombok-gradle-jacoco - と - ソナー) – Godin

答えて

0

tl; dr:私の助言は、カバレッジからクラス全体を無視することです。

理由:ほとんどのデータクラスには「実コード」が含まれていません。クラスが属性と@Data注釈だけで構成されている場合、カバレッジから何の利点もありません。あなたがクラスにロジックを置くと、それはもはやデータクラスではないかもしれません - SRPについて考えてみてください。

つまり、すべてのケースをカバーしようとするデータクラステスターを書きました。振り返ってみると、それは問題の価値がなかった。おそらくjavabean-testerのような図書館も役に立つかもしれません。

0

JaCoCo changelogによれば、バージョン0.8.0から始まり、注釈付きの方法@lombok.Generatedは自動的に除外されます。

変更履歴もノート:(そのようSonarQubeまたはジェンキンスなど)を直接execのファイルを読み込み、このためJaCoCoを埋め込む

ツールを彼らはJaCoCoのこのバージョンにアップデートした後にのみフィルタリング機能を提供します。

Announcement of release of JaCoCo version 0.8.0状態:

直接(最終報告書ではありません)のexecファイルを読み込み、レポートの生成のためJaCoCoを埋め込むツールは、彼らがJaCoCoのこのバージョンにアップデートした後にのみフィルタリング機能を提供します。私たち(ANTでJaCoCoプロジェクトの一環として開発された統合の対応バージョン(0.8.0)によって生成されたhttps://jira.sonarsource.com/browse/SONARJAVA-2608

レポート - そうな

  • SonarQubeように/ etc /待って、それぞれのベンダーに従ってください。タスク、Mavenプラグイン、コマンドラインインタフェース)はフィルタリング機能を提供します。

https://jira.sonarsource.com/browse/SONARJAVA-2608の本日(2018年1月30日)の修正版はまだリリースされていないSonarJavaプラグインバージョン5.1になっているはずです。

関連する問題