
TDD 개발 준비

TDD란?

TDD 예제: 암호 검사기

첫 번째 테스트: 모든 규칙을 충족하는 경우

두 번째 테스트: 길이만 8글자 미만이고 나머지 조건은 충족하는 경우

세 번째 테스트: 숫자를 포함하지 않고 나머지 조건은 충족하는 경우

코드 정리: 테스트 코드 정리

네 번째 테스트: 값이 없는 경우

다섯 번째 테스트: 대문자를 포함하지 않고 나머지 조건을 충족하는 경우

여섯 번째 테스트 : 길이가 8글자 이상인 조건만 충족하는 경우

일곱 번째 테스트: 숫자 포함 조건만 충족하는 경우

여덟 번째 테스트: 대문자 포함 조건만 충족하는 경우

코드 정리: meter() 메서드 리팩토링

아홉 번째 테스트: 아무 조건도 충족하지 않는 경우

코드 정리: 코드 가독성 개선

TDD 흐름

테스트 코드 작성 순서

테스트 코드 작성 순서 연습

쉬운 것부터 테스트

예를 추가하면서 구현을 일반화

코드 정리: 중복 제거

예외 상황 처리

다음 테스트 선택: 다시 예외 상황

다음 테스트를 추가하기 전에 리팩토링

예외 상황 테스트 진행 계속

코드 정리: 상수를 변수로

다음 테스트 선택: 쉬운 테스트

예외 상황 테스트 추가

코드 정리

다음 테스트: 10개월 요금을 납부하면 1년 제공

테스트할 목록 정리하기

TDD﹒기능 명세﹒설계

테스트 코드의 구성

테스트 가능한 설계