Skip to content

Latest commit

 

History

History
11 lines (7 loc) · 895 Bytes

Mock-vs-Stub.md

File metadata and controls

11 lines (7 loc) · 895 Bytes

목(Mock)과 스텁(Stub) 초간단 구별

둘 다 테스트에 사용하는 가짜 객체지만 구별하기는 또 애매하다. 다음과 같이 구별하면 크게 틀리지 않는다.

  • 목 객체는 메소드 호출 여부, 순서, 횟수 등 행위 검증(behavior verification) 을 위해 만들어 사용하는 가짜 객체
  • 스텁 객체는 값 기반의 상태 검증(state verification) 을 위해 미리 정해진 값을 반환하도록 만들어 사용하는 가짜 객체
  • 동작 검증에 사용하는 목 객체는 복잡한 기능이 포함되므로 테스트 프레임워크를 통해서만 생성할 수 있고,
  • 상태 검증에 사용하는 스텁 객체는 간단하므로 new XXX()와 같이 직접 생성할 수도 있다.

자세한 내용은 마틴 파울러의 글을 참고한다.