3

junitテキストファイルからテストデータを読み取り、実行時にテストを作成して実行するカスタムクラスローダーがあるとします。ランナーはテストクラスを使用しません。

surefire今度はmavenプラグインで実行したいと思います。surefireつまり、プラグイン「execution」のパラメータとしてランナーを指定したいと思いますpom.xml

それをしてもいいですか?

4

3 に答える 3

4

いいえ。私が知る限りRunner、maven-surefire-pluginでクラスを指定する方法はありません。ただし、単一のテストクラスを作成し、を使用@RunWith(YourRunner.class)してカスタムランナーで実行できるようにする必要があります。

Runnerこれは、 sの使用目的がプロジェクトレベルではなく、テストごとであるためだと思います。さまざまなランナーを組み合わせて使用​​するプロジェクトを作成できます。たとえば、Springベース、同時実行、JUnit3での実行、JUnit4での実行などです。

于 2011-10-17T18:16:06.763 に答える
0

達成したいことによっては、カスタムを使用してテストの動作にグローバルに影響を与えることができる場合がありますRunListener。Maven Surefireプラグインを使用して構成する方法は次のとおりです。http://maven.apache.org/plugins/maven-surefire-plugin/examples/junit.html#Using_custom_listeners_and_reporters

(私は同様の質問に対して同じ応答を投稿しました。つまり、@ RunWithの代わりにJUnitランナーをグローバルに設定します

于 2011-12-16T09:48:13.337 に答える
0

私のプロジェクトでは、プラグインexec-maven-pluginを使用して同じタスクを解決します

特別なパラメーターを使用してjunitテストを実行するカスタムランナーがあります。mavenコマンドでランナーを実行します:mvn test -Dparam1 = value1 -Dparam2 = value2 -Dparam3 = value3

pom.xmlの場合:

        <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>
于 2016-05-17T07:40:05.693 に答える