더북(TheBook)

2.7.1 팩토리 함수로 beforeEach( ) 함수 완전히 대체

beforeEach()를 전혀 사용하지 않고 하나 이상의 팩토리 함수를 사용해서 코드를 준비(arrange)한다면 어떻게 될까? 아니면 팩토리 함수를 좀 더 작게 만들어서 사용해 보면 어떨까? 어떤 모습일지 다음 예제로 함께 확인해 보자.

예제 2-17 beforeEach()를 팩토리 함수로 대체하기

// __tests__/password-verifier1.spec.js
const makeVerifier = () => new PasswordVerifier1();
const passingRule = () => ({  passed: true, reason: ''  });

const makeVerifierWithPassingRule = () => {
    const verifier = makeVerifier();
    verifier.addRule(passingRule);
    return verifier;
};

const makeVerifierWithFailedRule = (reason) => {
    const verifier = makeVerifier();
    const fakeRule = () => ({  passed: false, reason: reason  });
    verifier.addRule(fakeRule);
    return verifier;
};


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