•
가장 기본적인 테스트 더블이다.
•
인스턴스화 되었지만 객체가 필요하지만 내부 메소드는 필요하지 않은 경우에 사용한다.
•
메소드가 호출되었을때 정상 동작을 보장하지 않는다.
•
인스턴스화된 객체가 필요해 구현한 가짜 객체일 뿐이고 생성된 Dummy 객체는 정상적인 동작을 보장하지 않는다.
public interface Human {
String getName();
int getAge();
}
public static class DummyHuman implements Human {
@Override
public String getName() {
return "John";
}
@Override
public int getAge() {
return 20;
}
}
@Test
public void dummyTest() {
Human human = new DummyHuman();
assertThat(human.getName()).isEqualTo("John");
assertThat(human.getAge()).isEqualTo(20);
}
Java
복사
•
실제 서비스에서 객체는 Human 인터페이스를 구현한 구현체를 필요로하지만 해당 구현이 필요로하지 않는 특정 구현체에선 사용 가능하다.
•
이처럼 동작하지 않아도 테스트에 영향을 미치지 않는 객체를 Dummy 객체라고 한다.