2015-11-07 6 views
2

Я пытаюсь написать некоторые модульные тесты, но они терпят неудачу. Можете ли вы предложить мне правильный способ?Jasmine unit testing window.onbeforeunload

show(contactId: string, phoneNumber: string, contactType: string, section: string, memberId: string) { 
 
     this.$window.onbeforeunload =() => ""; 
 
     $('.disabledcalldialog').on("click", e => { 
 
      this.$window.alert('Please close call dialog and try.'); 
 
      e.preventDefault(); 
 
     });

Мой файл спецификации, как

beforeEach(() => { 
 
     inject(($rootScope: ng.IScope, $window) => { 
 
    spyOn($window, 'onbeforeunload'); 
 
      $(window).trigger('onbeforeunload'); 
 
    }); 
 
    it('should be able to call when changing URL',() => { 
 
     
 
     expect($window.onbeforeunload).toHaveBeenCalled();

Карма бросание сообщение об ошибке, как "Ошибка типа: Невозможно получить свойство 'onbeforeunload' неопределенных или нуль Справка";

ответ

0

Вы пробовали:

$window.trigger('onbeforeunload'); 

вместо:

$(window).trigger('onbeforeunload');