JUnit 5メタアノテーション
JUnit 5のメタアノテーションの説明
メタアノテーション
JUnit Jupiterはメタアノテーションの仕組みをサポートしている。つまり、任意のアノテーションを組み合わせた独自アノテーションを定義できる。
同じアノテーションの組み合わせを複数箇所で使う場合、それらを1つのカスタムアノテーションにまとめることで再利用性を高められる。
また、@ExtendWithで拡張クラスのClassオブジェクトを直接指定する代わりに独自アノテーションを使えるため、テストを特定実装から分離できる利点がある。
一般的な流れは、まずParameterResolverを実装し、次に@ExtendWith(MyParameterResolver.class)を付けたカスタムアノテーションを作成することだ。テストはそのカスタムアノテーションを使い、解決されたメソッド引数を受け取れる。