it('has exactly one error', () => {
expect(errors.length).toBe(1);
});
});
});
중복 코드는 최소한으로 줄였지만, 이제 각 테스트를 이해하려면 errors 배열이 어디에서 어떻게 생성되었는지 확인해야 한다.
한 단계 더 나아가 기본적인 시나리오를 몇 가지 더 추가하면서 테스트 케이스가 늘어났을 때도 확장 가능한 구조인지 확인해 보자.
예제 2-15 테스트 추가하기
// __tests__/password-verifier1.spec.js
describe('PasswordVerifier', () => {
let verifier;
beforeEach(() => (verifier = new PasswordVerifier1()));
describe('with a failing rule', () => {
let fakeRule, errors;