본문 바로가기

dev/JUnit

JUnit5 MethodSource

junit에서 @ValueSource, @CsvSource를 사용해서 메소드 파라미터를 전달하여 테스트를 진행합니다.

 

하지만 복잡한 파라미터를 전달해야 하는 경우 @MethodSource를 사용하면 됩니다.

 

junit 테스트 코드

 

파라미터를 생성하는 makeParams 메소드를 static으로 선언합니다.(20 ~ 26라인)

 

static으로 선언해야 테스트 메소드를 일관성 있게 실행할 수 있기 때문입니다.

 

File 객체, List 객체, String 객체 3개의 파라미터를  Arguments에 담아 Stream으로 테스트 메소드에 전달합니다.(21 ~ 25라인)

 

앞에서 작성한 makeParams 메소드로부터 파라미터를 받는 테스트 메소드를 선언합니다.(28 ~ 48라인)

 

@MethodSource 어노테이션을 통해 makeParams 메소드로부터 파라미터를 받습니다.(29라인)

 

File 객체 파라미터는 파일 내용을, List 객체 파리미터는 각 요소를, String 객체 파라미터는 값을 로깅합니다.(31 ~ 45라인)

 

junit 테스트 결과

 

해당 테스트 코드를 실행하면 정상적으로 종료된 것을 확인할 수 있습니다.

'dev > JUnit' 카테고리의 다른 글

JUnit5 Controller ParameterizedTest  (0) 2023.10.16
JUnit5 Controller Test  (0) 2023.10.10
JUnit5 DB test  (0) 2023.10.06