테스트 중심 개발을 실험하고 있는데 종종 다음과 같은 상황에 처한다는 것을 알았습니다.
- 일부 기능 X에 대한 테스트를 작성합니다. 해당 테스트는 실패합니다.
- X를 구현하려고 할 때 코드의 하위 계층에 일부 기능 Y를 구현해야 함을 알았습니다. 그래서...
- Y에 대한 테스트를 작성합니다. 이제 X 및 Y에 대한 테스트가 모두 실패합니다.
한 번에 서로 다른 코드 레이어에서 4 가지 기능을 사용하면 실제로 수행중인 작업 (동시에 너무 많은 테스트가 실패 함)에 집중하지 못했습니다.
테스트 작성을 시작하기 전에도 작업을 계획하는 데 더 많은 노력을 기울여이 문제를 해결할 수 있다고 생각합니다. 그러나 어떤 경우에는 하위 계층의 API를 잘 모르기 때문에 더 깊이 들어가야한다는 것을 알지 못했습니다.
그런 경우 어떻게해야합니까? TDD에 권장 사항이 있습니까?