Junit5のアノテーションについてざっくりと理解するための記事です。
なんか見たことあるけど、要するに何に使うやつなんだっけ?
を軽く思い出すためにあります。
テストを実行
@Test
テストメソッドであることを示します。
単一のテストを実行します。
@ParameterizedTest
パラメーター化テストであることを示します。
複数のテストデータを実行します。
@RepeatedTest
繰り返しテストであることを示します。
実行回数を指定して実行します。
事前/事後処理
@Test, @RepeatedTest, @ParameterizedTest, @TestFactory が付与されたテストメソッド毎に実行されます。
@BeforeAll
テストクラスのすべてのテストメソッドの実行前に一度だけ実行されます。
@BeforeEach
テストクラスの各テストメソッドの実行前に毎回実行されます。
@AfterAll
テストクラスのすべてのテストメソッドの実行後に一度だけ実行されます。
@AfterEach
テストクラスの各テストメソッドの実行後に毎回実行されます。
設定
@TestInstance
テストクラスのインスタンスのライフサイクルを設定します。
PER_METHOD:メソッド毎にテストクラスのインスタンスを生成します。
@DisplayName
テストクラスやテストメソッドにカスタムの表示名を指定します。
@Disabled
テストクラスやテストメソッドを無効化します。
@Tag
クラスまたはメソッドレベルでテストをフィルタリングするためのタグを宣言します。
テスト構造の定義
@Nested
テストクラス内でネストしたテストクラスを定義します。
@TestTemplate
テストケースのテンプレートであることを示します。
このメソッドは、登録したプロバイダ が返す実行コンテキストの数に応じて、複数回呼び出されます。
テストを生成
@TestFactory
動的テストのためのテストファクトリです。
拡張機能
@ExtendWith
カスタムの拡張機能を登録するために使われます。
・@ExtendWith を使って 宣言的に 登録する。
・@RegisterExtension を使って 手続き的に 登録する。
・Javaの ServiceLoader の仕組みを使って 自動的に登録する。
コメント