2013-07-29 13 views
7

カスタムイベントが定義されています。私はジャスミンでそれをスパイしたい。しかし、私が持っている問題は、私がspyOnを使ってそのイベントを偵察しているときに失敗しているということです。私がいくつかの機能についてスパイすると、正常に動作しています。私が試したHERESに何:jasmineでカスタムイベントをスパイする方法は?

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カスタムイベントを偵察することができないと思います。

* 注:*私は同様の質問で他の答えを見ましたが、それはクリックイベントと関係していました。しかし、私の場合、それは自動的にいくつかの条件に基づいて解雇されるカスタムイベントです。

答えて

4

このようなものを試してみてください。私のために働いた

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

});