Effective Unit Test 에서 이 부분을 읽으면서 배운게 너무나도 많다. 그 내용을 한번 정리해보려고 한다. 테스트 더블이란? 테스트 더블이란 쉽게 예기하면 Stub 과 같이 특정 메소드가 완성되기 전에 대용해서 사용할수 있는 것을 뜻한다. 너무 추상적인거 같아서 쉽게 얘를 들면 Mocking 한 객체라고 생각해도 좋다. 순수히 그 메소드만 평가해야되는 단위 테스트에서는 이러한 테스트더블을 많이 사용하게 된다. 예를 들면 저번에 말했던 우리가 제어할 수 없는 대상을 테스트 더블로서 통제할 수 있는 것이다. 언제나 그렇듯, 코드로 보는것이 제일 나으니 코드로 한번 살펴보자. 예를 들어, 이런 Car class 가 있다고 해보자. 우리는 외부에서 Car 의 start 메소드 가 호출될때 Engin..