테스트 assertion은 메세지를 포함해야 합니다.

 

JUnit, FEST, AssertJ에 메세지를 추가하는 것은 미래 생산성을 위한 투자입니다. 지금은 몇초를 걸쳐 메세지를 작성하지만 테스트가 실패하고 문제를 빠르게 진단할 필요할 때 많은 시간을 절약할 수 있습니다. 또는 테스트를 관리할 필요가 있거나 assertion 메세지는 일종의 가이드 문서로 동작합니다.

규칙을 어긴 코드

assertEquals(4, list.size());  // 규칙을 어긴 코드

try {
    fail();  // 규칙을 어긴 코드
} catch (Exception e) {
    assertThat(list.get(0)).isEqualTo("pear");  // 규칙을 어긴 코드
}

규칙을 준수한 해결책

assertEquals("There should have been 4 Fruits in the list", 4, list.size());

try {
    fail("And exception is expected here");
} catch (Exception e) {
    assertThat(list.get(0)).as("check first element").overridingErrorMessage("The first element should be a pear, not a %s", list.get(0)).isEqualTo("pear");
}

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

원문으로 바로가기

Star This Project