더북(TheBook)

예제 2-20 다양한 조건으로 규칙 테스트

// __tests__/password-rules.spec.js
describe('one uppercase rule', () => {
    test('given no uppercase, it fails', () => {
        const result = oneUpperCaseRule('abc');
        expect(result.passed).toEqual(false);
    });

    test('given one uppercase, it passes', () => {
        const result = oneUpperCaseRule('Abc');
        expect(result.passed).toEqual(true);
    });

    test('given a different uppercase, it passes', () => {
        const result = oneUpperCaseRule('aBc');
        expect(result.passed).toEqual(true);
    });
});

예제 2-20에서 중복된 부분을 굵게 표시했다. 두 번째와 세 번째 테스트는 입력 값이 약간만 다를 뿐 근본적으로는 같은 테스트라고 볼 수 있다.

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