본문 바로가기

FRONT-END/JAVASCRIPT

자바스크립트 TDD(Jasmine 단위 테스트)

반응형

자바스크립트 TDD


jasmine 라이브러리 자바스크립트와 CSS파일을 참조하기 위한 단순한 HTML 파일을 만든다.


<!DOCTYPE html>

<html>

  <head>

    <meta charset="utf-8">

    <title>jasmine-test</title>

    <link data-require="jasmin@*" data-semver="2.0.0" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.8.0/jasmine.css" />

    <script data-require="jasmin@*" data-semver="2.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.8.0/jasmine.js"></script>

    <script data-require="jasmin@*" data-semver="2.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.8.0/jasmine-html.js"></script>

    <script data-require="jasmin@*" data-semver="2.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.8.0/boot.js"></script>


    <script src="TestFrameworks_01.js"></script>


    <script src="TestFrameworks_01_tests.js"></script>

  </head>

</html>


TestFrameworks_01.js

function createReservation(passenger, flight){

  return {

    passengerInfo : passenger,

    flightInfo : flight

  };

}



TestFrameworks_01_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.passengerInfo).toBe(testPassenger);

 });


 it("주어진 flight flightInfo 프로퍼티에 할당한다.", function() {

   var testPassenger = {

     firstName : '윤지',

     lastName : '김'

   };


   var testFlight = {

     number : '3443',

     carrier: '대한항공',

     destination : '울산'

   };


   var reservation = createReservation(testPassenger, testFlight);

  expect(reservation.flightInfo).toBe(testFlight);

});


});


결과






반응형