2.1.1 잘못된 코드 발견하기
TDD는 코드 결함을 최대한 빨리, 곧 코드 생성 직후 감지하며, 작은 기능 하나라도 테스트를 먼저 작성한 뒤, 최소한의 코드만으로 기능을 구현한다.
createReservation 함수로 다시 돌아가 테스트를 먼저 작성하면 어떻게 달라지는지 알아보자. 다시 말하지만, 이 함수의 명세는 다음과 같다.
createReservation은 승객 객체, 항공편 객체를 입력받아 passengerInformation 프로퍼티가 승객 객체, flightInformation 프로퍼티가 항공편 객체인 새로운 객체를 반환한다.
먼저 passengerInformation 프로퍼티 할당이 정상적인지 확인하는 테스트를 작성한다(예제 2-3).
예제 2-3 초기 createReservation 단위 테스트
소스 파일 2장\Test Frameworks\TestFrameworks_02_tests.js
describe(‘createReservation(passenger, flight)’, function() { it(‘주어진 passenger를 passengerInfo 프로퍼티에 할당한다’, function() { var testPassenger = { firstName: ‘윤지’, lastName: ‘김’ }; var testFlight = { number: ‘3443’, carrier: ‘대한항공’, destination: ‘울산’ }; var reservation = createReservation(testPassenger, testFlight); expect(reservation.passengerInformation).toBe(testPassenger); }); });