[테스트 주도 개발] 32장_TDD 마스터하기
좋은 테스트인지는 어덯게 알 수 있나?
다음은 설계에 문제가 있음을 알려준다.
- 긴 setUp 코드
- setUp 중복
- 실행 시간이 오래 걸리는 테스트
- 깨지기 쉬운 테스트
테스트를 지워야할 때는?
- 테스트를 삭제하고 자신감이 줄어들 것 같으면 삭제하지마라.
- 두 테스트 코드가 동일한 부분을 실행해도, 서로 다른 시나리오를 말한다면 그대로 남겨둬라.
프로젝트 중반에 TDD 를 도입하려면?
- 우선, 변경의 범위를 제한해라. 극적으로 단순화 될 수 있지만 지금 당장 변할 필요가 없으면 그냥 그대로 둬라.
- 그리고나서, 테스트와 리팩토링 사이의 교착 상태를 풀어줘라. 파트너와 같이 작업을 하거나, 아주 조심스럽게 작업을 할 수 있다.
시간이 지나면, 시스템에서 늘 변화하는 부분들은 테스트 주도로 된 것 처럼 보이게 될 것이다.
TDD 와 패턴의 관계는?
단순히 시스템에서 무슨 일을 할지 생각하고, 나중에 설계가 알아서 정해지도록 해라.
테스트 주도 개발 <켄트 벡>