더북(TheBook)

예제 2-6 describe( ) 블록 추가하기

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

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

        expect(errors[0]).toContain('fake reason');
    });
});

예제 2-6은 예제 2-5에서 다음 내용을 변경했다.

테스트할 작업 단위를 나타내는 describe() 블록을 추가했다. 필자는 개인적으로 이 방법이 더 깔끔하다고 생각한다. 이렇게 하면 각 구역을 더 명확하게 구분할 수 있다. 이제 새로운 구역 아래에 더 많은 테스트를 중첩해서 추가할 수 있다. 또 describe() 함수로 구역을 나누면 테스트 결과 리포팅도 더욱 깔끔하게 출력된다.

새로운 구역을 만들었으니 그 안에 테스트를 중첩해서 추가하고, 테스트 이름에서 작업 단위 이름을 제거했다.

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