[테스트 코드] 테스트 더블 Mock vs. Stub vs. Spy 차이
·
카테고리 없음
테스트 더블 일단 `Mock`, `Stub`, `Spy` 각각은 테스트의 목적과 요구 사항에 따라 다르게 사용하고, 종종 함께 사용되기도 한다. 테스트 코드를 작성하다 보면 위 세 가지 개념을 마주하게 되는데 짚고 넘어가자. `Mock`, `Stub`, `Spy`는 소프트웨어 테스트에서 자주 사용되는 용어로, 모두 테스트 더블(test double)의 일종이다. 테스트 더블이란, xUnit Test Patterns의 저자인 제라드 메스자로스(Gerard Meszaros)가 만든 용어로 테스트를 진행하기 어려운 경우 이를 대신해 테스트를 진행할 수 있도록 만들어주는 객체를 말한다. (참고: Test Double을 알아보자)   각각은 테스트 중에 외부 시스템이나 복잡한 컴포넌트를 대체하는 데에 사용되지만,..