테스트 더블
정의 테스트 더블(Test Double)은 테스트에서 실제 협력 객체를 대신하는 모든 대역을 가리키는 총칭이다. 영화의 스턴트 더블(stunt double)에서 온 이름으로, Gerard Meszaros가 xUnit Test Patterns에서 정리했다. 대역이 필요한 이유는 협력 객체가 다음 중 하나에 해당할 때다. 아직 구현되지 않았다 실행이 느리다 (DB, 네트워크) 결과가 매번 다르다 (현재 시각, 랜덤, 외부 시세) 원하는 상태를 만들기 어렵다 (특정 예외, 네트워크 타임아웃) 호출하면 부작용이 있다 (실제 결제, 메일 발송) 일상적으로는 이 모두를 “목(mock)“이라고 뭉뚱그려 부르지만, 다섯 가지는 목적이 서로 다르고 그중 하나만 검증에 관여한다. ...