describe('verifyPassword', () => {
describe('when its the weekend', () => {
it('throws an error', () => {
const reset = injectDate(SATURDAY); ➌
expect(() => verifyPassword('any input')).toThrowError(
"It's the weekend!"
);
reset(); ➍
});
});
});
➊ injectDate는 헬퍼 함수로, 테스트가 모듈 의존성을 끊을 수 있도록 도와준다.
➋ inject() 함수를 호출하여 moment.js 모듈을 테스트에서 사용할 가짜 의존성으로 대체한다.
➌ 가짜 날짜를 전달한다.
➍ 테스트가 끝나면 의존성을 원래대로 돌려 놓는다.
예제 3-8 코드를 하나씩 살펴보자.