최범균 저
- JUnit 5를 이용한 테스트 주도 개발
- 테스트 작성과 설계를 위한 대역
- 테스트 가능한 설계 방법
- 유지보수하기 좋은 테스트 작성
- 기능을 검증하는 테스트를 먼저 작성
- 테스트를 통과하지 못하면 테스트를 통과할 만큼만 코드를 작성
- 테스트 통과 후 리팩토링을 통해 코드 개선
- 리팩토링 수행 후 다시 테스트를 실행해 검증
- 위 과정을 반복하면서 점진적으로 기능을 완성
- 테스트 코드가 있으면 과감한 리팩토링이 가능하다.
- TDD는 개발 과정에서 지속적으로 코드 정리를 하므로 좋은 코드 품질을 유지할 수 있다.
- TDD는 새로운 코드를 추가하거나 기존 코드를 수정하면 테스트를 통해 작성된 코드가 올바른지 검증이 가능하다.
- 이를 통해 잘못된 코드가 배포되는 것을 방지한다.
- 구현하기 쉬운 겨우부터 시작한다.
- null과 같은 예외 상황을 먼저 테스트 한다.
- 완급 조절
- 정해진 값을 리턴
- 값 비교를 이용해서 정해진 값을 리턴
- 다양한 테스트를 추가하면서 구현을 일반화
- 지속적인 리팩토링
- 상수를 변수로 바꾸거나 변수의 이름을 변경하는 작은 리팩토링은 발견하는 바로 실행한다.
- 메서드 추출과 같이 메서드의 구조에 영향을 주는 리팩토링은 큰 틀에서 구현의 흐름이 눈에 들어오기 시작한 뒤에 진행한다.