더북(TheBook)

페이크

페이크는 실제 구현을 대체하는 가벼운 버전의 구성 요소다. 예를 들어 실제 운영 데이터베이스 대신 인메모리 데이터베이스를 사용하여 테스트를 수행할 수 있다. 페이크는 실제 데이터베이스와 동일한 인터페이스를 제공하지만, 훨씬 가볍고 빠르게 동작한다. 예를 들어 ‘Harry Potter’라는 책 정보를 포함한 인메모리 데이터베이스를 사용하면 실제 데이터베이스에 접근하지 않고도 테스트를 수행할 수 있다. 필자는 이러한 페이크를 스텁으로 간주하지만, 실제가 아닌 모든 것을 지칭할 때 ‘페이크’라는 단어를 사용하기도 한다.

요약하면 다음과 같다.

스텁: 미리 정의된 가짜 데이터를 제공하여 테스트 대상 코드의 입력을 시뮬레이션한다.

: 테스트 대상 코드가 외부 시스템과 상호 작용할 때, 호출 여부와 인수를 검증한다.

페이크: 실제 구현을 대체하는 가벼운 버전의 구성 요소를 제공하여 테스트를 수행한다.

이 예시로 스텁, 목, 페이크의 개념을 좀 더 명확하게 이해할 수 있길 바란다.

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