더북(TheBook)

▼ 표 3-1 스텁과 목 관련 용어 정리

카테고리

패턴

목적

사용법

 

테스트 더블

스텁과 목을 포함한 일반적인 이름이다.

필자는 이 용어를 페이크(fake)라고 한다.

스텁(stub)

더미 객체

테스트에서 사용될 값을 지정하는 데 사용된다. SUT 메서드를 호출하는 경우 부수적인 인수로만 사용된다.

진입점의 매개변수로 보내거나 준비(arrange) 단계에서 사용된다.

테스트 스텁

다른 소프트웨어 구성 요소의 간접 입력에 의존할 때 독립적으로 로직을 검증하는 데 사용된다.

의존성으로 주입하고 SUT에 특정 값이나 동작을 반환하도록 구성한다.

목(mock)

테스트 스파이

다른 소프트웨어 구성 요소에 간접 출력을 보낼 때 독립적으로 로직을 검증하는 데 사용된다.

실제 객체의 메서드를 오버라이드하고, 오버라이드한 함수가 예상대로 호출되었는지 확인한다.

모의 객체

다른 소프트웨어 구성 요소에 대한 간접 출력에 의존하는 경우 독립적으로 로직을 검증하는 데 사용된다.

가짜 객체를 SUT 의존성으로 주입하고, 가짜 객체가 예상대로 호출되었는지 확인한다.

표 3-1의 내용을 요약하면 다음과 같다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.