2013-07-29 2 views
7

У меня есть настраиваемое событие. Я хочу шпионить за ним с жасмином. Но проблема у меня в том, что она терпит неудачу, когда я использую spyOn, чтобы следить за этим событием. Когда я шпионю по какой-то функции, он работает нормально. Вот что я пробовал:Как следить за настраиваемым событием в жасмине?

describe("Test:", function(){ 
    it("Expects event will be spied: ", function() { 
     var eventSpy = spyOn(window, 'myEvent').andCallThrough(); 
     expect(eventSpy).toHaveBeenCalled(); 
     //Also tried this: 
     //expect(eventSpy).not.toHaveBeenCalled(); 
    }); 
}); 

Так что я попытался как not.toHaveBeenCalled() и toHaveBeenCalled(), но он не в обоих случаях. Поэтому я думаю, spyOn не может следить за настраиваемым событием.

* Примечание: * Я рассмотрел другие ответы SO с похожим вопросом, но это было связано с событием щелчка. Но в моем случае это настраиваемое событие, которое автоматически срабатывает на основе некоторых условий.

ответ

4

Попробуйте что-нибудь подобное. Работа для меня

describe("Test:", function(){ 
it("Expects event will be spied: ", function() { 
    var eventSpy = jasmine.createSpy(); 
    sampleElement.addEventListener('sample event', eventSpy); 
    expect(eventSpy).toHaveBeenCalled(); 

}); 
Смежные вопросы