
테스트는 문서다.
우리는 항상 팀으로 일하므로, 내가 작성한 코드 혹은 문서들이 다른 팀원들에게 어떤 영향을 끼칠지를 항상 고민하면서 작성하는 것이 중요하다.
JUnit5에 추가된 어노테이션이다.
@DisplayName("도메인 정책, 용어를 사용한 명확한 문장으로 테스트 설명")
// 1.
@DisplayName("특정 시간 이전에 주문을 생성하면 실패한다.");
// 2.
@DisplayName("영업 시간 시작 이전에는 주문을 생성할 수 없다.");
1번처럼 작성하는 것 보다 2번처럼 작성하는 것이 좋다.
예제 코드
// CafeKioskTest.java
@DisplayName("주문 목록에 담긴 상품들의 총 금액을 계산할 수 있다.")
@Test
void calculateTotalPrice() {
// given : 어떤 환경에서
CafeKiosk cafeKiosk = new CafeKiosk();
Americano americano = new Americano();
Latte latte = new Latte();
cafeKiosk.add(americano);
cafeKiosk.add(latte);
// when : 어떤 행동을 진행했을 때
int totalPrice = cafeKiosk.calculateTotalPrice();
// then : 어떤 상태 변화가 일어난다
assertThat(totalPrice).isEqualTo(8500);
}
→ DisplayName을 명확하게 작성하는 데에도 도움이 된다.