더북(TheBook)

헷갈릴 때는 ‘테스트 더블(test double)’ 또는 ‘페이크(fake)’라는 용어를 사용하는 것이 좋다. 하나의 가짜 의존성을 어떤 테스트에서는 스텁으로, 다른 테스트에서는 목으로 사용할 수 있다.7 이 예시는 추후에 살펴볼 예정이다.

xUnit 테스트 패턴과 이름 규칙

제라드 메스자로스가 쓴 <xUnit 테스트 패턴>에서는 단위 테스트의 고전적인 패턴을 소개하는데, 이 책은 테스트에서 임의로 만들어 사용하는 것에 대한 패턴을 최소 다섯 가지 방법으로 다양하게 정의한다. 필자가 앞서 설명한 세 가지 유형(스텁, 목, 페이크)에 어느 정도 익숙해지면 제라드 책에서 제공하는 추가적인 세부 사항을 살펴보는 것을 추천한다.

<xUnit 테스트 패턴>에서는 ‘페이크’라는 용어를 ‘테스트 대상 시스템(SUT)이 의존하는 구성 요소를 훨씬 가벼운 구현으로 대체하는 것’이라고 정의한다. 예를 들어 실제 운영 환경의 데이터베이스 대신 인메모리 데이터베이스를 사용할 수 있다.

필자는 여전히 이 유형의 테스트 더블을 ‘스텁’으로 간주하며, ‘페이크’라는 단어는 실제가 아닌 모든 것을 지칭하는 데 사용한다. 이는 ‘테스트 더블’과 유사하지만 ‘페이크’가 더 짧고 말하기 쉽다는 장점이 있다.

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