- TDD는 유닛 테스트를 위해 모든 함수를 인터페이스로 만들어 캡슐화를 깨뜨릴 수 있다. 💥
- 리플렉션을 사용하여 프라이빗 메서드를 테스트할 수 있으며, 퍼블릭 인터페이스가 필요하지 않다. 🕵️♀️
- C#에서
internal
접근 제한자를 사용하여 테스트 프로젝트에만 메서드를 공개할 수 있다. 🔑 - 유닛 테스트를 위해 OP 원칙을 훼손하지 않고도 다양한 방법이 존재한다. 💡
- TDD를 맹목적으로 따르기보다는 문제 해결에 적합한 테스트 전략을 선택해야 한다. 🤔