더북(TheBook)

기대식과 매처

expect 문은 테스트마다 있다. 다음은 첫 번째 단위 테스트 createReservationexpect 문이다.

 expect(testReservation.passengerInformation).toBe(testPassenger);

 

expect 함수는 테스트 대상 코드가 낸 실제값(여기서는 testReservation.passengerInformation)을 인자로 받아 기댓값과 견주어본다. 이 테스트가 기대하는 값은 testPassenger다.

실제값과 기댓값을 비교하는 일은 매처(matcher) 함수의 몫이다. 매처는 비교 결과 성공하면 true를, 실패하면 false를 반환한다. 하나 이상의 기대식이 포함된 스펙에서 매처가 하나라도 실패하면 모조리 실패한 거로 간주한다. 반대로, 모든 매처가 성공하면 스펙은 성공한다.

toBe 매처는 이름에서 짐작할 수 있듯이 testReservation.passengerInformationtestPassenger와 같은 객체여야(to be) 한다는 의미다.

재스민이 제공하는 내장 매처는 여럿 있는데, 용도에 맞는 매처가 없으면 재스민이 지원하는 커스텀 매처를 만들어 쓴다. 커스텀 매처를 잘 활용하면 훌륭하고 DRY한 테스트 코드를 작성할 수 있다.

TIP

재스민-제이쿼리(https://github.com/velesin/jasmine-jquery) 같은 매처 라이브러리를 쓰면 매칭 기능을 더 보강할 수 있다.

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