私は、各JUnitテストを実行する前に何らかのアクションを実行する必要があるプロジェクトに取り組んでいます。この問題はRunListener
、JUnitコアに追加できるものを使用して解決されました。プロジェクトのアセンブリはMavenを使用して行われるため、pom
ファイルに次の行があります。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>cc.redberry.core.GlobalRunListener</value>
</property>
</properties>
</configuration>
</plugin>
したがって、すべてが次を使用して機能します。
mvn clean test
ただし、IntelliJを使用して(内部テストランナーを使用して)テストを開始すると、コード化されたアクションRunListener
は実行されないため、IntelliJインフラストラクチャを使用してテストを実行することはできません。
ご覧のとおり、IntelliJはpomファイルからこの構成を解析しないので、IntelliJRunListener
にJUnitコアに追加するように明示的に指示する方法はありますか?構成でいくつかのVMオプションを使用している可能性がありますか?
Maven出力を読み取る代わりに、美しいIntelliJテスト環境を使用する方がはるかに便利です。
PS実行する必要のあるアクションは、基本的に静的環境のリセットです(クラス内のいくつかの静的フィールド)。