まず、JUnitの@ParameterizedTest
アノテーションと@MethodSource
アノテーションを使用して、テストケースをパラメータ化します。次に、テストケースに必要な引数を生成するためのメソッドを作成します。このメソッドは、ストリームを返す必要があります。
以下に、簡単な例を示します。
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import java.util.stream.Stream;
public class MyTestClass {
@ParameterizedTest
@MethodSource("provideTestArguments")
public void myTestMethod(String arg1, int arg2) {
// テストを実行するコード
}
private static Stream<Arguments> provideTestArguments() {
return Stream.of(
Arguments.of("引数1", 1),
Arguments.of("引数2", 2),
Arguments.of("引数3", 3)
);
}
}
上記の例では、provideTestArguments
メソッドがテスト引数のストリームを返しています。Arguments.of
メソッドを使用して、テストケースに必要な引数を指定します。このように、provideTestArguments
メソッドを作成してJUnitのテストメソッドに@MethodSource
アノテーションで参照させることで、テストケースをパラメータ化することができます。
このようにして作成したメソッドを使用すると、異なる引数セットでテストケースを実行することができます。これにより、コードの網羅性を高め、効率的なテストを行うことができます。
以上が、JUnitでテスト引数のストリームを返す方法の簡単な例です。この方法を使用することで、テストケースの柔軟性と再利用性を向上させることができます。