더북(TheBook)
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 코드를 하나씩 살펴보자.

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