TDD
[TDD] TDD 흐름
kkalgo
2023. 11. 6. 19:43
테스트 → 코딩 → 리팩토링 → 테스트
- 테스트를 먼저 작성하고
- 테스트를 통과시킬 만큼 코드를 작성하고
- 리팩토링으로 마무리 하는 과정의 반복
레드 - 그린 - 리팩터
- TDD 사이클을 Red - Green - Refactor로 부르기도 한다.
- Red : 실패하는 테스트
- Green : 성공한 테스트
- Refactor : 리팩토링 과정
테스트가 개발을 주도
- 가장 먼저 통과해야 할 테스트를 작성한다.
- 테스트를 작성하는 과정에서 구현을 전혀 생각하지 않고
- 해당 기능이 올바르게 동작하는지 검증할 수 있는 테스트 코드를 만들 뿐.
- 테스트를 추가한 뒤에는 테스트를 통과시킬 만큼의 기능을 구현한다.
- 추가하지 않은 테스트를 고려해서 구현하지 않는다.
- 테스트 코드를 만들면 다음 개발 범위가 정해진다.
- 검증하는 범위가 넓어지고 구현이 완성되간다.
지속적인 코드 정리
- 구현을 완료한 뒤에는 리팩토링을 진행한다.
- 리팩토링 대상이 눈에 들어오면 진행
- 어떻게 리팩토링할지 모르겠다면 다음 테스트를 진행한다.
- 원활히 동작하는 코드를 수정하는 것은 부담스럽다.
- 이 기능을 온전하게 동작하는 것을 검증해주는 테스트가 있다면 괜찮다.
빠른 피드백
- 코드 수정에 대한 피드백이 빠르다.
- 새로운 코드를 추가하거나 기존 코드를 수정한 경우 테스트로 확인 가능
- 잘못된 코드가 배포되는 것을 방지한다.
- 새로운 코드를 추가하거나 기존 코드를 수정한 경우 테스트로 확인 가능