junit
カスタムクラスローダーがあり、テキストファイルからテストデータを読み込み、実行時にテストを作成して実行するとします。ランナーはテストクラスを使用しません。Surefire MavenプラグインのJUnitカスタムランナーの指定方法は?
今度はsurefire
mavenプラグインで実行したいと思います。つまり、pom.xml
のsurefire
プラグイン「実行」のパラメータとしてランナーを指定したいと考えています。
できますか?
junit
カスタムクラスローダーがあり、テキストファイルからテストデータを読み込み、実行時にテストを作成して実行するとします。ランナーはテストクラスを使用しません。Surefire MavenプラグインのJUnitカスタムランナーの指定方法は?
今度はsurefire
mavenプラグインで実行したいと思います。つまり、pom.xml
のsurefire
プラグイン「実行」のパラメータとしてランナーを指定したいと考えています。
できますか?
No.私が知る限り、Runner
クラスをmaven-surefire-pluginに指定する方法はありません。しかし、単一のテストクラスを作成して、@RunWith(YourRunner.class)
を使用してカスタムランナーで実行できるようにする必要があります。
私はRunner
の使用目的の場合は、テストごとではなく、プロジェクトレベルであるので、それがあると思います。さまざまなランナーを混在させたプロジェクトを作成することができます。いくつかはSpringベース、いくつかは同時実行、JUnit3で実行、JUnit4で実行などがあります。
目的に応じて、カスタムRunListener
を使用してテスト動作にグローバルに影響を与える可能性があります。ここではMavenのシュアプラグインでそれを設定する方法である:http://maven.apache.org/plugins/maven-surefire-plugin/examples/junit.html#Using_custom_listeners_and_reporters
(I、すなわち、同様の質問に同じ回答を投稿:Globally setting a JUnit runner instead of @RunWith)
私のプロジェクトでは、私はプラグインexec-maven-plugin
と同じタスクを解決私は特別なパラメータでjunitテストを実行するカスタムランナーを持っています。私は、Mavenのコマンドを使用して、私のランナーを実行しますのpom.xmlでMVNテストは-Dparam1 = VALUE1 -Dparam2 = value2の-Dparam3 =値3
:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<classpathScope>test</classpathScope>
<mainClass>com.example.domain.MyMainClass</mainClass>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>