테스트 사전 지식
테스트 코드를 작성하기 전 기본 개념 이해하기
TDD, Red - Green - Refactor

1
RED
구현해야 할 메서드를 생성하지 않고 예상대로 흘러갈 수 있도록 골조만 작성한다.
이 때, 컴파일 에러가 나는 것을 두려워하지 말고 테스트 코드를 동작시켜 실패하는 것을 유도해야한다.
@Test
@DisplayName("주문 목록에 담긴 상품들의 총 금액을 계산할 수 있다.")
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(); // compile error!
// then
assertThat(totalPrice).isEqualTo(8500);
}
2
TDD의 핵심은 빠른 피드백을 통해 코드를 점진적으로 리팩터링 가능하다 는 것이다.
TDD의 선순환은 메서드 시그니처를 설계할 때 외부에서 주입 가능하도록 사고를 하기 비교적 쉽다.
결론적으로 TDD는 관점의 차이를 가져온 설계 방식이다.
테스트 코드는 문서이다
✍️ Display Name 을 섬세하게 작성하자

BDD, Given - When - Then
Last updated