예제 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()이 작동하는 한 사용할 예정이다.