더북(TheBook)

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);
});
});

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