program_language 및 궁금한것/Junit5

[Junit5] 파라미터 반복 테스트 (@ValueSource)

jinsiri 2020. 4. 18. 20:17

Junit5으로 테스트 코드를 작성하니 파라미터를 바꿔넣어 테스트 해야 할 일이 많았다. 

 

처음엔 하나씩 변수를 만들어 준 뒤에 테스트를 하였다.

@Test
void test() {
      String a = "a";
      String b = "b";
      String c = "c";
      assertNotNull(a);
      assertNotNull(b);
      assertNotNull(c);
}

 

슬슬 반복작업이 지겨워 지던 찰나, 백기선님의 더 자바 강의가 있다는 것을 알게 되었다.

 

강의를 보고 코드를 수정 적용하였다.

@DisplayName("반복 테스트")
@ParameterizedTest(name = "{index} {displayName} test={0}")
@ValueSource(strings = { "a", "b", "c", "d" })
void testRepeat(String test) {
	assertNotNull(test);
}

@DisplayName는 테스트의 이름을 보여주고

@ParameterizedTest는 테스트에 보여질 이름을 만들어준다.

(한 메소드에 @Test와 @ParameterizedTest를 같이 선언하면 에러가 난다. )

@ValueSource는 strings, double, int, long등 여러 자료형의 배열이 들어간다.

String test 변수의 위치에 "a","b".... 가 하나씩 대입되며 아래 테스트가 실행된다.

 

반응형