すべてのJUnitテスト後のクリーンアップ 質問する

すべてのJUnitテスト後のクリーンアップ 質問する

私のプロジェクトでは、すべてのテストの前にリポジトリのセットアップを行う必要があります。これは、いくつかの巧妙な静的ルールを使用して行われます。ただし、すべてのテストの後にクリーンアップを行う方法がわかりません。常に維持する必要があるすべてのテスト メソッドの数を参照する魔法の静的番号を保持したくありません。

最も評価の高い方法は、すべてのテストの後に呼び出されるリスナーを追加することです。JUnit4 にはすでにそのためのインターフェースがありますか?


編集: これは @BeforeClass および @AfterClass とは関係ありません。@AfterClass でアノテーションが付けられたメソッドが最後に呼び出されたかどうかを知る必要があるためです。

ベストアンサー1

使用をお勧めしますorg.junit.runner.notification.RunListener、 例:

public class TestListener extends RunListener {
  @Override
  public void testRunStarted(Description description) throws Exception {
     // Called before any tests have been run.
  }
  @Override
  public void testRunFinished(Result result) throws Exception {
     // Called when all tests have finished
  }
}

詳細については、JUnit java doc を直接参照してください。プラグイン構成に次のコードを追加することで、Maven の surefire (単体テスト) プラグインまたは failsafe プラグイン (統合テスト) でもこれを使用できます。

<properties>
  <property>
    <name>listener</name>
    <value>com.innovatrics.afismq.it.TestListener</value>
  </property>
</properties>

おすすめ記事