私はこの記事をフォローしています:http://www.softwarepassion.com/it-coverage-with-arquillian-jacoco-extension/は、arquillian統合テストのテストカバレッジを取得します。私のプロジェクトはマルチモジュールですが、プラグインと依存関係をどこに置くべきかわかりません。それはトップポメラニアン、アーティファクト作成モジュール、または統合テストモジュールにありますか?ありがとうございました
1 に答える
ある程度は、質問にないMavenセットアップの詳細に依存します。一般的なアドバイスを次に示します。
1) arquillian-jacoco と jacoco の依存関係はどこに置くべきですか?
これらの依存関係は、Arquillian の残りの依存関係がある場所に移動する必要があります。私の理解では、プラグイン宣言ではなく、Arquillian が JaCoCo を使用するようにトリガーするのは、単にこれらの依存関係があることです。これらの依存関係が実際の Arquillian テストを含む POM の親にある場合でも、Arquillian テスト クラスは引き続きインストルメント化する必要があります。これらの依存関係は、統合テスト モジュールによって継承される必要があるため、テストを含むモジュールの兄弟モジュールには入れません (もちろん、この兄弟モジュールがテスト モジュールの依存関係として宣言されていない限り)。
2) JaCoCo プラグイン宣言はどこに置くべきですか?
上で述べたように、何を達成しようとしているのかによっては、この宣言さえ必要ないかもしれません。jacoco.exec ファイルだけでなく、レポートを生成する場合は、プラグインとレポート ゴールを使用した実行を宣言する必要があります。単体テストなど、JaCoCo で計測したい他のテストがある場合は、 prepare-agent ゴールでプラグインを宣言することもできます。
プラグインを宣言する場合は、他の Maven プラグインと同じように扱うことができます。デフォルトで JaCoCo を複数のモジュールで実行したい場合は、通常の 'plugins' タグ内の親 POM にプラグイン宣言を配置し、それをすべての子モジュールに継承させるか、親 POM に配置することを選択できます。 「pluginManagement」要素内で構成を継承できるようにします ( http://maven.apache.org/pom.html#Plugin_Managementを参照)。あるいは、統合テスト モジュールで Arquillian テストのみを実行したい場合は、このモジュールの POM でプラグインを宣言することもできます (レポートが必要で、Arquillian テストのみをインストルメント化する場合は prepare-agent ゴールがない場合)。 )。
それが役立つことを願っています!