더북(TheBook)

다음은 checkInService_tests.js 예제에서 가져온 코드로 실패 분기 로직을 확인하는 테스트다.


describe(‘checkInRecorder 실패 시’, function() {
var recorderError = ‘체크인 등록 실패!’;
beforeEach(function() {
  spyOn(checkInRecorder,‘recordCheckIn’).and.returnValue(
    Promise.reject(new Error(recorderError)));
  spyOn(attendee,‘undoCheckIn’);
});
 
it(“기대 사유와 함께 버림 프라미스를 반환한다”, function(done) {
  checkInService.checkIn(attendee).then(
    function promiseResolved() {
      expect(‘이 성공 함수가 실행된다’).toBe(false);
      done();
    },
    function promiseRejected(reason) {
      expect(reason.message).toBe(recorderError);
      done();
  });
});

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