3.3 스텁을 사용하는 일반적인 설계 방식
다음 몇 절에 걸쳐 작업 단위에 스텁을 어떻게 주입할 수 있는지 살펴볼 예정이다. 먼저 기본적인 매개변수화(parameterization) 방식을 살펴보고 다음 방식을 하나씩 살펴보고자 한다.
• 함수를 사용한 방식
▪ 함수를 매개변수로 사용
▪ 부분 적용(커링)
▪ 팩토리 함수
▪ 생성자 함수
• 모듈을 이용한 방식
▪ 모듈 주입
• 객체 지향을 이용한 방식
▪ 클래스 생성자 주입
▪ 객체를 매개변수로 사용(일명 덕 타이핑)
▪ 공통 인터페이스를 매개변수로 사용(타입스크립트 활용)
각 방식을 다루기 전에 먼저 테스트에서 시간을 제어하는 간단한 예제부터 시작해 보자.