Assertion
함수는 “java.lang.AssertionError”. 예외를 던집니다. 만약 Assertion
함수 호출이 try-catch 구문의 try 블럭에서 유사한 에러가 잡히며 끝나는 경우, 예외의 일부 속성을 테스트해야 합니다. 그렇지 않으면 assertion
이 절대 실패하지 않습니다.
규칙을 어긴 코드
@Test
public void should_throw_assertion_error() {
try {
throwAssertionError();
Assert.fail("Expected an AssertionError!"); // 규칙을 어긴 코드, 'AssertionError'는 catch에 잡힐 것이고 테스트는 절대 실패하지 않을 것 입니다.
} catch (AssertionError e) {}
}
private void throwAssertionError() {
throw new AssertionError("My assertion error");
}
규칙을 준수한 해결책
assertThrows(AssertionError.class, () -> throwAssertionError());
try {
throwAssertionError();
Assert.fail("Expected an AssertionError!"); // 규칙을 준수한 해결책, 오류가 발생하는지 테스트합니다.
Assert.assertThat(e.getMessage(), is("My assertion error"));
}
If you like SONARKUBE, don’t forget to give me a star.