JUnit 5ライフサイクル - @BeforeAll, @BeforeEach, @AfterAll, @AfterEach
JUnit 5のライフサイクルとテスト前後の処理
@BeforeAll
@BeforeAllが宣言されたメソッドは、テストクラスのすべてのテストメソッドが実行される前に1回だけ実行される。データベース接続の設定や組み込みサーバーの起動など、テストクラスに対して一度だけ行う重い処理で使用する。メソッドシグネチャには必ずstaticを宣言する。
@BeforeAll
static void runOnceBeforeAllTests() {
System.out.println("@BeforeAll executed \n");
}
@BeforeEach
@BeforeEachが宣言されたメソッドは、各テストメソッドの実行前に実行される。
@BeforeEach
void runBeforeEveryTest() {
System.out.println("@BeforeEach executed");
}
@AfterEach
@AfterEachが宣言されたメソッドは、各テストメソッドの実行後に実行される。
@AfterEach
void runAfterEveryTest() {
System.out.println("@AfterEach executed \n");
}
@AfterAll
@AfterAllが宣言されたメソッドは、テストクラスのすべてのテストメソッドが実行された後に1回だけ実行される。通常は@BeforeAllで行った設定の後始末、たとえばデータベース接続のクローズや組み込みサーバーの終了に使う。メソッドシグネチャには必ずstaticを宣言する。
@AfterAll
static void runOnceAfterAllTests() {
System.out.println("@AfterAll executed");
}
実行順序
ライフサイクルの順序は、@BeforeAll、各テストごとの@BeforeEach、@Test、@AfterEach、最後に@AfterAllである。