web-dev-qa-db-ja.com

jacocoコードカバレッジレポートからメソッドを除外する注釈を追加するにはどうすればよいですか?

Javaにコードカバレッジから除外したいコードがあります。これを行うにはどうすればよいですか。注釈を追加できます。jacocoを構成または拡張する方法はありますか( gradleで使用されているように)これを使用しますか?

例:

public class Something
{
    @ExcludeFromCodeCoverage
    public void someMethod() {}
}
12
Don Rhummy

Javaにコードカバレッジから除外したいコードがあります。これを行うにはどうすればよいですか。注釈を追加できます。jacocoを構成または拡張する方法はありますか( gradleで使用されているように)これを使用しますか?

本日現在、JaCoCoの最新リリースバージョンにはそのような機能はありません(0.7.9)。クラス全体のみを除外できます。

ページ https://github.com/jacoco/jacoco/wiki/FilteringOptions#annotation-based-filtering (開発者専用)これは将来のバージョンのアイデアとして記録されています。

JaCoCoの公式ドキュメントには、最新の未リリースビルドの取得方法と、次のバージョンの未リリースの変更のリストに関する情報が含まれています- http:// www .jacoco.org/jacoco/trunk/doc/changes.html には、さまざまなフィルターが含まれています。その中には、LombokおよびGroovyによって生成され、注釈lombok.Generatedおよびgroovy.transform.Generatedそれぞれ。これを悪用する可能性がありますが、さまざまな理由で悪用することはお勧めしません。

7
Godin

新しい機能は、JaCoCoの0.8.2リリースで追加され、@ Generatedアノテーションが付けられたクラスとメソッドを除外します。詳細については、以下のドキュメントを参照してください。

保持ポリシーがランタイムまたはクラスであり、単純名が生成である注釈が付けられたクラスおよびメソッドは、レポートの生成中にフィルターで除外されます(GitHub#731)。

JaCoCo 0.8.2リリースノート

1
Ajinkya

Tl; dr

注釈を使用する@lombok.Generated from ロンボク

説明

Jacocoは Lombok と統合します。 Lombokによって生成されたコードは、デフォルトでJacocoカバレッジから除外されます( Jacoco changelogのリリース0.8.0を参照 )。 lombok.Generatedカバレッジレポートから除外される方法で。

0
Markus Schulte