테스트 함수는 유사한 기능의 어노테이션과 함께 어노테이션을 달면 안됩니다.

 

Unit 테스트를 하나 이상의 테스트와 관련된 어노테이션과 함께 시작하는 것은 쓸모없을 뿐 아니라 테스트 실패하거나 원하지 않는 부작용과 같은 사이드 이펙트가 발생할 수 있습니다.

이 룰은 테스트 방법에 다음과 같은 유사한 기능의 어노테이션이 둘 이상 포함된 경우 알려줍니다.

  • @Test
  • @RepeatedTest
  • @ParameterizedTest
  • @TestFactory
  • @TestTemplate

규칙을 어긴 코드

@Test
@RepeatedTest(2) // 규칙을 어긴 코드, 이 테스트는 3번 반복하게 될 것 입니다.
void test() { }

@ParameterizedTest
@Test
@MethodSource("methodSource")
void test2(int argument) { } // 규칙을 어긴 코드, 이 테스트는 'ParameterResolutionException'로 실패할 것 입니다.

규칙을 준수한 해결책

@RepeatedTest(2)
void test() { }

@ParameterizedTest
@MethodSource("methodSource")
void test2(int argument) { }

If you like SONARKUBE, don’t forget to give me a star. :star2:

원문으로 바로가기

Star This Project