ボタンのクリックにバインドされている以下の関数があります。TeaserView クラスの一部の下のコード。
addCard: function() {
if(!this.model.get("loggedIn")){
Backbone.pubSub.trigger("Signup");
return;
}
this.showAddCardDialog();
}
これが私のテスト方法です
it("Should trigger signup event when clicked and not logged in", function(){
Backbone.pubSub = _.extend({}, Backbone.Events);
signupCallback = jasmine.createSpy("Signup");
//Backbone.pubSub.on("Signup", signupCallback);
teaserView = new TeaserView({
el: "#teaser",
model: this.model //was created in setup call
});
$("#addCard").trigger("click");
expect(signupCallback).toHaveBeenCalled();
});
しかし、Backbone.pubSub カスタム イベントが呼び出されたかどうかを確認するテストは失敗します。このイベントのリッスンを正しくテストするにはどうすればよいですか?