Skip to main content

Test Double

Martin Fowler에 의하면 이를 다음과 같이 정리한다.

  • Dummy 객체는 전달되지만 실제로 사용되지는 않는다. 주로 파라미터 값을 채우는 용도로 사용된다.

  • Fake 객체는 실제 동작하는 구현이 존재하지만, 실제를 완전히 모방하진 않고, 단순한 방식으로 구현 돼 있다. 그래서 프로덕션 환경에서 사용되기엔 무리가 있다.

  • Stubs 객체는 테스트 도중 격리된 환경에서 고정된 응답을 제공한다. Stub 객체는 요청이 전달 됐는지, 또는 몇 번 전달 됐는지에 대한 정보를 저장할 수 있다.

  • Mocks 객체는 테스트에서 호출이 예상되는 경우, 미리 입력된 결과값을 기대한다. 그래서 특정 메서드가 올바르게 호출 됐는지, 인자는 정확한지 등의 결과를 얻을 수 있다.

Related Links