테스트는 문서다.

왜 문서라고 정의할 수 있을까?


DisplayName

DisplayName은 테스트 케이스의 명시적인 설명을 제공하여, 테스트가 어떤 상황을 검증하는지 이해하는 데 도움을 준다.

JUnit5에서 사용할 수 있는 어노테이션으로 @DisplayName 으로 사용할 수 있다.

만약 JUnit4 라던가 그 이하의 버전을 사용하면 메소드 이름으로 사용할 수 있다.

@DisplayName("음료를 1개 추가하면 주문 목록에 남긴다.")
@Test
void add() {
    CafeKiosk cafeKiosk = new CafeKiosk();
    cafeKiosk.add(new Americano());

    assertThat(cafeKiosk.getBeverages()).hasSize(1);
    assertThat(cafeKiosk.getBeverages().get(0).getName()).isEqualTo("아메리카노");
}

DisplayName 작성 방법

명사의 나열보다는 문장으로 작성한다.

→ ~ 테스트 등의 단어 형태는 지양해야 한다

테스트 행위에 대한 결과까지 기술하기