我应该如何在backbone.mariente中测试/监视此类事件
How should I test/spy this kind of event in backbone.marioentte
我正在尝试为这个模块(2)实现一个测试(1)
我的目的是检查在触发特定事件时是否提取了集合
您可以从我在(2)中的评论中看到,我收到消息Expected spy restartPolling to have been called.
模块工作,但测试失败。有什么想法吗?
p.S.:
这个问题与这个有关预期是间谍,但得到了功能
(1)
// jasmine test module
describe('When onGivePoints is fired', function () {
beforeEach(function () {
spyOn(UsersBoardCollection.prototype, 'restartPolling').andCallThrough();
app.vent.trigger('onGivePoints');
});
it('the board collection should be fetched', function () {
expect(UsersBoardCollection.prototype.restartPolling).toHaveBeenCalled();
// Expected spy restartPolling to have been called.
});
});
(2)
// model view module
return Marionette.CompositeView.extend({
initialize: function () {
this.collection = new UserBoardCollection();
this.collection.startPolling();
app.vent.on('onGivePoints', this.collection.restartPolling);
},
// other code
});
(3)
// polling module
var poller = {
restartPolling: function () {
this.stopPolling();
this.startPolling(options);
},
// other code
};
(4)
var UsersBoardCollection = Backbone.Collection.extend({
// some code
});
_.extend(UsersBoardCollection.prototype, poller);
return UsersBoardCollection;
我正在使用Marionette,我对它的测试有点不同。我的想法不是测试,当事件在调用该函数的真实应用程序上启动时,因为这将由Marionette开发人员进行测试。
我测试该事件是否绑定到app.vent
。因此,我在app.vent.on
上创建了一个间谍,并在之后自己启动了功能:
spyOn(app.vent, 'on');
expect(app.vent.on.argsForCall[0][0]).toBe('onGivePoints')
app.vent.trigger.argsForCall[0][1]()
相关文章:
- 我应该如何在backbone.mariente中测试/监视此类事件
- 监视激发的Javascript事件(无论浏览器如何)
- 发射的事件即使在不被监视的情况下也会产生显著的负载吗
- 如何使用SpyOnEvent监视jquery-jasmine的事件
- Jasmine 无法监视事件处理程序
- 监视事件上的咕噜声动态任务
- Jasmine jquery - 监视具有数据属性的事件
- 监视/测试事件处理程序上的触发器是否使用Chai工作
- 如何使用特殊键监视onkeyup/down事件(返回零keyCode)
- Sinon似乎没有监视事件处理程序回调
- 监视一个方法与西农.方法绑定到事件侦听器.方法已执行,但.calledOnce为false
- 如何在挂载 React 组件之前让 Saga 监视事件
- 事件处理程序无法监视文档加载后注入HTML的元素
- 监视在click事件中调用的函数
- JavaScript监视事件不能在DOM元素对象上工作
- 如何使用php函数"file_get_contents"服务器发送事件来监视服务器上文件的修改
- 监视chrome中的自定义事件
- 如何在Firebug中监视事件
- 如何监视浏览器中发出的所有自定义事件
- 在angular js中onbeforeunload事件可以被$watch监视吗?