테스트 꾸러미와 스펙
재스민 테스트 꾸러미는 전역 함수 describe로 정의되며, 이 함수는 두 인자를 받는다.
• 문자열: 무엇을 테스트할지 서술한다.
• 함수: 테스트 꾸러미의 구현부(implementation)다.
테스트 꾸러미는 스펙, 즉 개별 테스트로 구현되며, 각 스펙은 전역 함수 it으로 정의된다. it 함수도 describe 함수처럼 인자를 2개 받는다.
• 문자열: 무엇을 테스트할지 서술한다.
• 적어도 한 개의 기대식(expectation)을 가진 함수: 코드 상태의 true/false를 확인하는 단언
테스트 꾸러미 구현부에 전역 함수 beforeEach/afterEach를 쓰면 각 꾸러미 테스트가 실행되기 이전에 beforeEach 함수를, 그 이후에는 afterEach 함수를 호출한다. 전체 테스트가 공유할 설정(setup)과 정리(teardown) 코드를 두 함수에 담아두면 코드 중복을 피할 수 있어 좋다.
Note.
테스트 꾸러미 역시 SOLID하고 DRY해야 한다!
설정 단계가 정확히 같은 테스트가 2개 있는 예제 2-2에서 DRY 원칙을 어긴 코드를 어떻게 해결할지 곧 설명하겠다고 했는데, beforeEach 함수로 간단히 해결할 수 있다(예제 2-5).