더북(TheBook)

3.3 스텁을 사용하는 일반적인 설계 방식

다음 몇 절에 걸쳐 작업 단위에 스텁을 어떻게 주입할 수 있는지 살펴볼 예정이다. 먼저 기본적인 매개변수화(parameterization) 방식을 살펴보고 다음 방식을 하나씩 살펴보고자 한다.

• 함수를 사용한 방식

▪ 함수를 매개변수로 사용

▪ 부분 적용(커링)

▪ 팩토리 함수

▪ 생성자 함수

• 모듈을 이용한 방식

▪ 모듈 주입

• 객체 지향을 이용한 방식

▪ 클래스 생성자 주입

▪ 객체를 매개변수로 사용(일명 덕 타이핑)

▪ 공통 인터페이스를 매개변수로 사용(타입스크립트 활용)

각 방식을 다루기 전에 먼저 테스트에서 시간을 제어하는 간단한 예제부터 시작해 보자.