더북(TheBook)

2.5.6 코드 구조로 알 수 있는 테스트 정보

describe() 함수의 또 다른 좋은 점은 중첩해서 사용할 수 있다는 것이다. 따라서 describe() 함수를 사용하여 테스트 시나리오를 설명하는 또 다른 구역을 만들어 그 아래에 테스트를 작성할 수 있다.

예제 2-7 추가 정보를 표현하는 중첩 구조

// __tests__/password-verifier0.spec.js
describe('verifyPassword', () => {
    describe('with a failing rule', () => {
        test('returns errors', () => {
            const fakeRule = () => ({
                passed: false,
                reason: 'fake reason',
            });

            const errors = verifyPassword('any value', [fakeRule]);

            expect(errors[0]).toContain('fake reason');
        });
    });
});
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.