1

重複の可能性:
mavenでカテゴリ別にjunitテストを実行する方法

JUnit でのテストのグループ化について質問があります。

注釈が付けられたテストクラスがあります

@Category(IntegrationTests.class)
public class TestClass { ... }

IntegrationTests は単なるインターフェースです。

このカテゴリのテストのみを実行するmavenコマンドラインで指定できる方法はありますか?

どうもありがとう。

4

2 に答える 2

4

単体テストと統合テストの違いは、単純な命名規則です。

**/Test*.java
**/*Test.java
**/*TestCase.java

単体テストとして認識されます。また、 maven-failsafe-pluginに基づく統合テストは、別の命名規則によって認識されます。

**/IT*.java
**/*IT.java
**/*ITCase.java
于 2012-04-20T13:45:12.553 に答える
2

既存の慣習に頼らないのはなぜですか?

mvn clean test確実に単体テストを実行します。 mvn clean verifyフェイルセーフ経由で統合テストを実行します

命名規則または注釈を使用して、選択を強制できます。

thisIsAUnitTest.java will be executed by surefire (mvn test)
thisClassIsAnIT.java will be executed by failsafe (mvn verify)

どうやって ?!

単体テスト用の SureFire

デフォルトでは、Surefire プラグインは、次のワイルドカード パターンを持つすべてのテスト クラスを自動的に含めます。

"**/Test*.java" - includes all of its subdirectories and all java filenames that start with "Test".
"**/*Test.java" - includes all of its subdirectories and all java filenames that end with "Test".
"**/*TestCase.java" - includes all of its subdirectories and all java filenames that end with "TestCase".

統合テストのフェイルセーフ

デフォルトでは、Failsafe プラグインは、次のワイルドカード パターンを持つすべてのテスト クラスを自動的に含めます。

"**/IT*.java" - includes all of its subdirectories and all java filenames that start with "IT".
"**/*IT.java" - includes all of its subdirectories and all java filenames that end with "IT".
"**/*ITCase.java" - includes all of its subdirectories and all java filenames that end with "ITCase".
于 2012-04-20T13:08:32.733 に答える