0

デフォルトでは、Maven の標準ディレクトリ レイアウトには 2 つの Java ソース フォルダがあります。

src/main/java
src/test/java

私の目的のためにsrc/junit/java、 classifier を使用して JAR にパッケージ化する必要がある 3 番目のものが必要junitです。

可能であれば、新しいソース フォルダーには独自のクラスパスが必要です (コンパイル + スコープ付きのすべてjunit)。

そのためには、少なくともリソースを変更してプラグインをコンパイルする必要があると思います。

それとももっと簡単な方法がありますか?

here で説明されている回避策がありますが、そのためには、クラスパスに Mockito や JUnit などを配置するcompile必要があり、これは私の純潔の感覚に違反しています。

私のアプローチの賢明さを疑うすべての人のために: src/main/java. プロジェクト自体のテストで同じサポート コードを使用しているため、このコードは前後 src/main/javaにコンパイルする必要があります src/test/java

具体的には、サポート コードは からコードをインポートするsrc/main/java必要があり、テストはサポート コードをインポートできる必要があります。

4

1 に答える 1

3

独自の Maven モジュールにテスト コードをバンドルする Maven セットアップをいくつか見てきました。次に、それを使用して単純な main-module <- support-module <- test-module 依存関係チェーンを作成できます。ただし、test-module なしでそれ自体をビルドすると、main-module は正常にコンパイルされます。それらをリアクター-pom と一緒に集約し、この pom を介してプロジェクトをビルドすることができます。

編集:

コード カバレッジに関してこの設定に問題がある場合は、Jacoco Maven プラグインを使用して、test-module によって生成されたテスト カバレッジを main-module に集約できます。詳細については、http: //www.petrikainulainen.net/programming/maven/creating-code-coverage-reports-for-unit-and-integration-tests-with-the-jacoco-maven-plugin/を参照してください。

于 2014-03-31T15:07:12.743 に答える