JVM/Java
[Java] junit5 파라미터로 List 전달하는 방법
Hyo Kim
2021. 11. 19. 01:38
728x90
반응형
😎서론
junit으로 파라미터 전달하는 어노테이션은 여러가지가 존재한다.
@ValueSource
@CsvSource
@NullSource
@NullAndEmptySource
이 외에 더 있다..
그 중에서 List로 Parameter를 전달하는 방법이 필요해서 검색한 도중에 찾게 되었고,
자주 사용할 것 같아서 기록해두려 한다.
😀본론
@ParameterizedTest
- 파라미터를 전달받을 수 있는 테스트를 만든다.
@MethodSource("메소드 명")
- 메소드의 리턴 값으로 파라미터를 전달한다.
static Stream<Arguments> generateData() {
return Stream.of(
Arguments.of(Arrays.asList(1, 2, 3, 4, 5, 46), "MethodSource 테스트", 45),
Arguments.of(Arrays.asList(0, 2, 3, 4, 44, 45), "테스트테스트", 0)
);
}
@ParameterizedTest
@MethodSource("generateData")
void MethodSource_테스트(List<Integer> one, String two, Integer three) {
System.out.println(one);
System.out.println(two);
System.out.println(three);
}
결과
파라미터
파라미터로는 아래와 같은 스트림이나 스트림으로 안전하게 변환될 수 있는 원시값 배열들이 가능하다.
728x90
반응형