TDD
TDD란?
- 선테스트 후개발
- 테스트코드를 먼저 작성하고 이를 통과하는 코드를 개발하는 방식
- 테스트코드를 미리 작성하니 개발 초기 단계에서 버그를 발견하고 수정할 수 있음.
- 개발자가 기능을 구현하기 전에 요구사항을 명확하게 이해하도록 강제 → 더 깨끗하고 유지보수하기 쉬운 코드로 이어짐.
- 깔끔한 코드 작성이 가능해짐
- TDD 단계의 리팩토링을 거치며 중복 코드를 제거하고 복잡한 코드는 깔끔하게 정리됨.
TDD의 개발주기

- <Red> 실패하는 테스트 작성
- 새로운 기능에 대한 테스트 케이스를 먼저 작성
- 처음엔 실패하는 테스트여야 함.
- 기능에 대한 구현이 이뤄지지 않았기에
- <Green> 테스트 통과를 위한 최소한의 코드 작성
- 오직 테스트 통과를 목표로
- <Yellow> 코드 리팩토링
- 중복을 제거하고, 가독성을 높이며, 설계를 개선함.
**중요한 것은 실패하는 테스트 코드를 작성할 때까지 실제 코드를 작성하지 않는 것과**, 실패하는 테스트를 통과할 정도의 최소 실제 코드를 작성해야 하는 것이다. 이를 통해, 실제 코드에 대해 기대되는 바를 보다 명확하게 정의함으로써 불필요한 설계를 피할 수 있고, 정확한 요구 사항에 집중할 수 있다.
https://wooaoe.tistory.com/33
TDD 관련 영상