효습
Chapter 04. TDD 기능 명세 , 설계 본문
- 설계는 기능 명세로부터 시작한다
- 기능 명세를 구체화하는 동안 입력과 결과를 도출하고 이렇게 도출한 기능 명세를 코드에 반영한다
- 기능의 이름 , 파라미터 , 리턴 타입 지정
설계 과정을 지원하는 TDD
테스트 코드를 만들기 위해서는
- 테스트할 기능을 실행
- 실행 결과를 검증
→ 테스트 대상이 되는 클래스와 메서드의 이름을 결정해야한다.
→ 메서드를 실행할 때 사용할 인자의 타입과 개수를 결정해야한다.
설계 과정
- 클래스 이름
- 메서드 이름
- 메서드 파라미터
- 실행 결과
TDD 자체가 설계는 아니지만 , TDD를 하다 보면 테스트 코드를 작성하는 과정에서 일부 설계를 진행하게 된다.
필요한 만큼 설계하기
- TDD는 테스트를 통과할 만큼만 코드를 작성한다
- 필요할 것으로 예측해서 미리 코드를 만들지 않는다
- TDD로 개발하는 코드 비율이 높아질수록 지금 시점에서 필요한 설계만 코드에 반영할 가능성이 커짐
- 최초 설계는 두 개의 파라미터를 사용
LocalDate expiryDate = cal.calculateExpiryDate(billingDate , payAmount);
2. 테스트를 진행하는 과정에서 필요한 만큼 설계 변경
Paydata payData = PayData.builder()
.firstBillingDate(LocalDate.of(2019.1.31))
.billingDate(LocalDate.of(2019.2.28))
.payAmount(10_000)
.build();
LocalDate expiryDate = cal.calculateExpiryDate(payData);
기능 명세 구체화
- 모호한 상황을 만나면 이를 구체적인 예시로 바꾸어 테스트 코드에 반영
'책 > 테스트 주도 개발 시작하기' 카테고리의 다른 글
Chapter 03. 테스트 코드 작성 순서 (2) | 2024.09.30 |
---|---|
Chapter 02. TDD 시작 (0) | 2024.09.09 |