테스트 코드에서 실제 의존성을 사용하기 어려운 경우, 테스트 더블을 사용할 수 있다.
테스트 더블은 의존성을 시뮬레이션하지만, 테스트에 더욱 적합하게 사용할 수 있도록 만든다.
실제 의존성을 포함하는 테스트는 외부 세계에 부수 효과를 유발할 수 있으며, 외부 세계의 의존적이기 때문에 비결정적인 동작을 유발할 수 있다. 또한, 실제 의존성을 포함하기 위해서 복잡한 설정이 필요한 경우도 존재한다. 테스트 더블은 테스트로부터 외부 세계를 보호하고, 또 반대로 외부로부터 테스트를 보호하며, 복잡한 설정을 단순화할 수 있도록 해주는 가짜 의존성이다.
종류
- 더미 : 인스턴스화된 객체
- 스텁 : 구현을 단순한 것으로 대체
- 페이크 : 제품에는 적합하지 않지만, 실제 동작하는 구현을 제공
- 스파이 : 호출된 내역을 기옥
- 목 : 기대한 대로 상호작용하는지 행위를 검증
'cs(with 매일메일)' 카테고리의 다른 글
| [260108목] 연속 메모리 할당 기법에 대해서 설명해주세요. (0) | 2026.01.19 |
|---|---|
| [260107수] 자바에서 클래스 정보는 어떻게 알아낼 수 있나요? (1) | 2026.01.19 |
| [260105월] 무중단 배포가 무엇인가요? (0) | 2026.01.16 |
| [260102금] 분산 환경에서 Redis를 활용한 잠금을 어떻게 구현할 수 있나요? (0) | 2026.01.16 |
| [260101목] 데이터베이스 정규화에 대해서 설명해주세요. (0) | 2026.01.16 |