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
반응형