各JUnitテストを実行する前に、何らかのアクションを実行する必要があるプロジェクトに取り組んでいます。この問題は、JUnitコアに追加できるRunListener
を使用して解決されました。プロジェクトアセンブリは、Mavenを使用して行われているので、私は私のpom
ファイルにこのラインを持っている:だからIntelliJ IDEAでJUnit RunListenerを使用する
<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ファイルから解析しないため、IntelliJにJUnitコアにRunListener
を追加するよう明示的に指示する方法はありますか?構成でいくつかのVMオプションを使用している可能性がありますか?
maven出力を読み込む代わりに、美しいIntelliJテスト環境を使用するほうがずっと便利です。
P.S.私が実行する必要があるアクションは、基本的に静的環境(クラス内のいくつかの静的フィールド)のリセットです。
ありがとうございました! '@ Before'メソッドを指定して、すべてのテストクラスにグローバル親を1つ追加することを考えています。だから、私はすべてのテストファイルを編集する必要があります:(私はこの機能を追加するIntelliJバグトラッカーでチケットを作成します。 – dbolotin