더북(TheBook)

예제 2-25 try-catch 구문을 사용한 테스트

// __tests__/password-verifier1.spec.js
test('verify, with no rules, throws exception', () => {
    const verifier = makeVerifier();
    try {
        verifier.verify('any input');
        fail('error was expected but not thrown');
    } catch (e) {
        expect(e.message).toContain('no rules configured');
    }
});

fail( ) 함수란

fail() 함수는 제스트가 초기 자스민을 기반으로 분기된 프로젝트였을 때 남은 API다. 이는 테스트 실패를 강제하는 방법이지만, 공식 제스트 문서에는 포함되어 있지 않다. 대신에 제스트 팀은 expect.assertions(1) 함수를 사용할 것을 권장한다. 이 방법은 catch 블록에 도달하지 않으면 테스트가 실패한다. 즉, try-catch 구문을 사용하지 말아야 하는 이유를 설명하려는 내 목적에는 fail() 함수가 꽤나 괜찮았는데, fail()이 작동하는 한 사용할 예정이다.

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