[Error] @Test, @ParameterizedTest 동시에 사용할 때

Ho Saint·2022년 8월 19일
0

에러실록

목록 보기
1/2
@Test@ParameteridTest
@ValueSource(ints = {1, 2, 3})
void contains(int number) {
        assertThat(numbers.contains(number)).isTrue();
}

 단위테스트 실습 중 위와 같이 실수로 @Test와 @paramizedTest를 동시에 사용해서 테스트를 돌렸다. 다음과 같이 테스트 실패가 뜬다.

 총 4개의 테스트 케이스 중 3개의 케이스는 통과하는데 1개의 케이스가 실패한다. 경고 메시지를 보면 인수로 받는 number가 없다고 나온다. 즉, @ParamizedTest 3개는 통과하나 @Test의 1개가 실패하는 것이다. 이렇게 두 개의 어노테이션을 동시에 사용할 뗴 두 개가 독립적으로 작동하는 것을 추측할 수 있다.

 다음과 같이 @Test 어노테이션을 지워주면 정상적으로 통과한다.

@ParameterizedTest
@ValueSource(ints = {1, 2, 3})
void contains(int number) {
        assertThat(numbers.contains(number)).isTrue();
}
profile
열정보다 시스템. 실수를 막을 수 있는 프로세스.

0개의 댓글