더북(TheBook)

그리고 다음은 예제 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 함수를 인수로 전달하는 방법은 특정 상황에서 예외를 만들어 내거나 테스트 내에서 특정한 동작을 하도록 만들 수 있어 유용하게 사용될 수 있다.

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