계약 선택
구현 줄 수보다 외부에서 보장해야 하는 동작 하나를 테스트 이름으로 잡는다.
behavior단위 테스트는 입력 준비, 실행, 결과 검증을 분리해 함수·서비스의 계약을 작게 고정한다.
구현 줄 수보다 외부에서 보장해야 하는 동작 하나를 테스트 이름으로 잡는다.
behaviorfixture와 mock을 최소화해 실패 원인이 테스트 대상에 남게 한다.
arrangeAct 단계는 가능한 한 한 줄로 두어 무엇을 검증하는지 선명하게 만든다.
act반환값, 예외, dependency 호출 여부를 명확한 matcher로 확인한다.
assertit("returns active users only", () => {
const users = makeUsers();
const result = filterActive(users);
expect(result).toEqual([users[0]]);
});