自分でゼロから作成した商用プロジェクトでは、テストの実行に使用したSurefireプラグインポリシーとFailsafeプラグインポリシーに応じて、テストをユニット(名前を付けた*Test.java
)と統合( )にそれぞれ分割しました。*IT.java
もちろん、ITの実行はUTよりもはるかに遅くなります。
mvn test
これにより、UTおよびUTとITの両方に対して、簡単なコマンドでテストのグループを実行できるようになります。また、。mvn integration-test
を使用してITのみをスキップすることもできmvn install -DskipITs
ます。
もう1つの良い点は、環境の問題(つまり、データベースの起動に時間がかかりすぎる、メッセージブローカーのシャットダウンが早すぎるなど)が原因で、単体テストよりも失敗することが多いため、統合テストの結果が緩くなる可能性があることです。 。デフォルトでは、「検証」目標を明示的に含めない限り、フェイルセーフテストに失敗してもビルドは強制終了されません。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<!-- Uncomment this in order to fail the build if any integration test fail -->
<!-- execution> <id>verify</id> <goals><goal>verify</goal></goals> </execution -->
</executions>
</plugin>