Search
Duplicate
📁

Stub

태그
Dummy 객체가 실제로 동작하는 것처럼 보이게 만들어놓은 객체이다.
인터페이스 또는 기본 클래스가 최소한으로 구현된 상태다.
테스트에서 호출된 요청에 대해 미리 준비해둔 결과를 제공한다.
테스트를 위해 정해둔 결과를 반환해주는 존재하는 객체라고 생각하면 된다.
Fake와 유사하게 동작하지만 실제 구현이 아닌 단순 테스트 로직 검증을 위한 로직이라는 점에서 다르다.
public class StubUserProfileRepository implements UserProfileRepository { private Map<Long, UserProfile> userProfiles = new HashMap<>(); @Override public void save(UserProfile userProfile) {} @Override public UserProfile findByUserId(long userId) { return new UserProfile(...); } }
Java
복사
이 경우, 테스트가 수정될 경우 Stub 객체의 반환 객체도 수정해야할 가능성이 있다는 단점이 있다.
Java 단위 테스트에선 Mockito 테스트 프레임워크가 대표적이다.
즉 테스트를 위해 준비된 결과만 반환하도록 하기 위한 객체가 Stub이다.