꽤 많은 프로그래머들이 비공개 운영 코드를 위한 테스트 코드를 작성해야 하는지 고민하고 일부는 작성하기 위해 노력한다. 오늘 강의를 통해 이 질문에 대한 명확한 답을 찾아봤다.
비공개 모듈 테스트
- 비공개 모듈의 작성과 사용은 공개 모듈의 구현 영역
- 비공개 모듈 테스트는 공개 모듈 구현 노출
- 테스트가 공개 모듈 구현에 의존
- 정보 숨김 위배
- SUT와 테스트 사이의 높은 결합
비공개 모듈 동작에 대한 불안함
잊어라. 인생은 짧다. 공개 모듈 동작을 고민하라.
켄트 벡의 설계 규칙
- Passess the tests
- Reveals intention
- No duplication
- Fewest elements
- 공개된 인터페이스만 신경쓰라는 의미. 숨겨진 private 테스트는 낭비다.