統合テストを適切に実装するために、Maven Failsafe を使い始めました。以前はすべてのテストを Surefire で実行していました。現在、Failsafe は、Surefire が実行していないものを実行します。
「mvn clean verify」を実行すると、Failsafe が実行されるまで、すべてがうまくいきます。Failsafe の構成が SureFire とどのように異なるのかはわかりませんが、ほとんどすぐにシステムが停止します。ほとんど無反応になる。テストを実行しますが、非常に低速です。
SureFire とまったく同じ構成を使用しています。ここで欠けているフェイルセーフについて何か特別なことはありますか? スレッド ? フォーク?バグ?
どうやらそれはjunit47プロバイダーに関連しています。この動作は、使用しない場合には発生しません。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.12</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.12</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<argLine>-XX:+UseCompressedOops -Xmx2g</argLine>
<includes>
<include>com/foo/bar/**/*Test.class</include>
</includes>
<groups>com.foo.bar.testing.IntegrationTests</groups>
</configuration>
</plugin>