Search

Mock, Stub

Mock과 Stub을 알기 전에 먼저 Test Double이란 개념을 알아야 한다.

Test Double

테스트 더블이란 액터가 해야 할 행위를 대신하는 스턴트맨처럼 모의 객체를 생성하여 테스트를 진행하는 기술.
상태 검증 vs 행위 검증 상태 검증 : 메서드가 수행될 때 연관되어 있는 협력 객체의 ‘상태’를 검증함으로써 제대로 기능이 동작하고 있는지를 검증하는 것. 행위 검증 : 테스트하고자 하는 메소드가 참조하고 있는 협력 객체의 메소드를 제대로 콜 하는지에 대한 ‘행위’를 검증하는 것.

Mock (행위 검증)

특정 동작을 수행하는지(= 메서드를 제대로 call 하는지)에 대한 검증을 한다.
행위검증을 추구한다는 점에서 다른 테스트 더블과는 구분되는 점.

Stub (상태 검증)

더미 객체를 생성하고 실제로 동작하는것처럼 보이게 만든 가짜 객체이다.
호출된 요청에 대한 응답값을 미리 만들어놓고 전달한다.
객체의 최소한의 기능만을 임의로 구현한다.