유닛 테스트는 예외를 던저야 합니다.

 

유닛 테스트 코드가 예외를 던질 때, 테스트는 스스로 실패합니다. 그러므로 실패를 탐지하기 위해 try-catch 문으로 테스트 코드를 감쌀 필요가 없습니다. 대신에 함수 시그니처에 예외 타입을 옮겨 간소화 할 수 있습니다.

이 규칙은 실패 assertion이 catch 블럭에 있는 경우 문제를 제기합니다.

지원하는 프레임워크:

  • JUnit3
  • JUnit4
  • JUnit5
  • Fest assert
  • AssertJ

규칙을 어긴 코드

@Test
public void testMethod() {
    try {
        // 코드...
    } catch (MyException e) {
        Assert.fail(e.getMessage());  // 규칙을 어긴 코드
    }
}

규칙을 준수한 코드

@Test
public void testMethod() throws MyException {
    // 코드...
}

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

원문으로 바로가기

Star This Project