JUnit 5パラメータ化テスト - @ParameterizedTest
1つのテストメソッドに複数のパラメータを渡す方法
概要
@ParameterizedTestを使用すると、1つのテストメソッドで複数のパラメータをテストできる。
依存関係の追加
@ParameterizedTestを使うには、junit-jupiter-paramsライブラリが必要である。
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.8.1'
}
@ValueSource
@ValueSourceはリテラル値の単一配列を指定でき、パラメータ化されたテスト呼び出しごとに単一の引数を提供する場合に使用する。
Null and Empty Sources
@NullSource、@EmptySourceは、それぞれパラメータにnullとemptyを渡す。@ValueSourceと組み合わせることもできる。
@NullAndEmptySourceは、@NullSourceと@EmptySourceを一緒に使いたい場合の合成ソースである。ここでも@ValueSourceを組み合わせられる。
@EnumSource
@EnumSourceは、列挙型の値をパラメータとして渡す場合に使用する。
@MethodSource
@MethodSourceは、メソッドを使ってパラメータを渡す場合に使用する。プロバイダメソッドはArgumentsのStreamを返せる。