junit에서 @ValueSource, @CsvSource를 사용해서 메소드 파라미터를 전달하여 테스트를 진행합니다.
하지만 복잡한 파라미터를 전달해야 하는 경우 @MethodSource를 사용하면 됩니다.
파라미터를 생성하는 makeParams 메소드를 static으로 선언합니다.(20 ~ 26라인)
static으로 선언해야 테스트 메소드를 일관성 있게 실행할 수 있기 때문입니다.
File 객체, List 객체, String 객체 3개의 파라미터를 Arguments에 담아 Stream으로 테스트 메소드에 전달합니다.(21 ~ 25라인)
앞에서 작성한 makeParams 메소드로부터 파라미터를 받는 테스트 메소드를 선언합니다.(28 ~ 48라인)
@MethodSource 어노테이션을 통해 makeParams 메소드로부터 파라미터를 받습니다.(29라인)
File 객체 파라미터는 파일 내용을, List 객체 파리미터는 각 요소를, String 객체 파라미터는 값을 로깅합니다.(31 ~ 45라인)
해당 테스트 코드를 실행하면 정상적으로 종료된 것을 확인할 수 있습니다.
'dev > JUnit' 카테고리의 다른 글
JUnit5 Controller ParameterizedTest (0) | 2023.10.16 |
---|---|
JUnit5 Controller Test (0) | 2023.10.10 |
JUnit5 DB test (0) | 2023.10.06 |