더북(TheBook)

3.8 요약

테스트 더블은 테스트에서 사용되는 모든 종류의 가짜 의존성을 포괄하는 용어다. 테스트 더블은 스텁 두 가지 유형으로 나눌 수 있으며, 다섯 가지로 세분화할 수 있다.

은 작업 단위의 종료점에 해당하는 외부 의존성을 흉내 내고 그 동작을 검증하는 데 사용할 수 있다. 테스트 중인 시스템(SUT)은 외부 의존성을 호출하여 시스템의 상태 값을 변경한다. 스텁내부 의존성을 흉내 내는 데 사용할 수 있다. SUT는 이러한 의존성을 호출하여 필요한 데이터를 가져온다.

스텁은 신뢰할 수 없는 의존성을 페이크로 대체해서 테스트가 불안정해지는 것을 막아 준다.

작업 단위에 스텁을 주입하는 방법은 여러 가지다.

함수를 매개변수로 주입: 단순한 값 대신 함수를 주입한다.

부분 적용(커링)팩토리 함수: 일부 컨텍스트( 스텁으로 대체한 의존성)가 미리 설정된 상태로 반환하는 함수를 생성한다.

모듈 주입: 동일한 API를 가진 가짜 모듈로 실제 모듈을 대체한다. 이 방법은 나중에 모듈의 API가 변경되면 많은 리팩터링이 필요할 수 있어 다소 불안정하다.

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