더북(TheBook)

2.1.5 실행 가능한 명세

TDD 실천 결과, 탄탄하게 구축된 단위 테스트 꾸러미는 테스트 대상 코드의 실행 가능한 명세(runnable specification) 역할도 한다. 다음 절에서 소개할 (그리고 이 책 전반에서 사용하는) 단위 테스팅 프레임워크인 재스민은 행위 기반(behavior-based)으로 테스트를 구성한다. 재스민에서 스펙(specification)이라 부르는 개별 테스트는, 테스트하여 검증할 작동 로직을 일상 문장으로 표현하면서 시작한다. 각 테스트를 실행할 때마다 이 문장들은 재스민의 테스트 결과 기본 포매터로 화면에 표시된다.

createReservation 함수를 예로 들면, 재스민으로 단위 테스트한 결과 메시지를 보고 이 함수가 무슨 일을 하는지 큰 그림을 그려볼 수 있다. createReservation이 하는 일을 굳이 코드를 읽고 분석하지 않아도 단위 테스트가 죄다 알려주는 셈이다! 단위 테스트가 선사하는 ‘실행 가능 명세(runnable specification)’는 프로젝트 참여 개발자에게도, 과거에 자신이 작성한 코드를 다시 찾아보게 된 원래 개발자에게도 톡톡히 한몫한다.

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