그리고 다음은 예제 3-4의 테스트 코드다.
예제 3-5 함수를 의존성으로 주입하는 코드의 테스트 코드
// stub-time/00-parameteres/password-verifier-time00.spec.js
describe('verifier3 - dummy function', () => {
test('on weekends, throws exceptions', () => {
const alwaysSunday = () => SUNDAY;
expect(() => verifyPassword3('anything', [], alwaysSunday))
.toThrowError(
"It's the weekend!"
);
});
});
이전 테스트와 큰 차이는 없지만, 함수를 매개변수로 전달하는 것이 가능하다.10 함수를 인수로 전달하는 방법은 특정 상황에서 예외를 만들어 내거나 테스트 내에서 특정한 동작을 하도록 만들 수 있어 유용하게 사용될 수 있다.