私はカバレッジレポートのためにjacocoを使用します。ジャココの報告書を見ると、報道は良いようです。しかしSonarqubeでは、@Data
のロンボクからの注釈はテストによってカバーされていないと言われているため、報道は低いです。ロンボクのためSonarqube不良カバレッジ@Data
コンパイルされたクラスは@Generated
というマークですが、Sonarでは無視されません。
分析の除外方法@Data
をどうすれば除外できますか?
私はカバレッジレポートのためにjacocoを使用します。ジャココの報告書を見ると、報道は良いようです。しかしSonarqubeでは、@Data
のロンボクからの注釈はテストによってカバーされていないと言われているため、報道は低いです。ロンボクのためSonarqube不良カバレッジ@Data
コンパイルされたクラスは@Generated
というマークですが、Sonarでは無視されません。
分析の除外方法@Data
をどうすれば除外できますか?
tl; dr:私の助言は、カバレッジからクラス全体を無視することです。
理由:ほとんどのデータクラスには「実コード」が含まれていません。クラスが属性と@Data
注釈だけで構成されている場合、カバレッジから何の利点もありません。あなたがクラスにロジックを置くと、それはもはやデータクラスではないかもしれません - SRPについて考えてみてください。
つまり、すべてのケースをカバーしようとするデータクラステスターを書きました。振り返ってみると、それは問題の価値がなかった。おそらくjavabean-testerのような図書館も役に立つかもしれません。
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になっているはずです。
これを試しましたかhttps://docs.sonarqube.org/display/SONAR/Narrowing+the+Focus#Focus-IgnoreIssuesonFiles? – mgyongyosi
ファイルの問題は無視しますが、ファイル全体を無視します。私はこの振る舞いを望まない。 @Generatedでアノテートされた除外メソッドをご希望の場合 –
[Lombok、Gradle、Jacoco、Sonarによるフィルタリング対象範囲]の複製が可能です(https://stackoverflow.com/questions/48501606/filtering-coverage-with-lombok-gradle-jacoco - と - ソナー) – Godin