【发布时间】:2012-12-27 15:04:00
【问题描述】:
我正在尝试编写 Jasmine 规范,以验证在将模型添加到视图集合时是否调用了视图函数。
在视图的初始化函数中我做
this.collection.on('add', this.fooAdded, this);
在我的 Jasmine 规范中,我正在做:
describe('Foo View', function() {
it('should call fooAdded when a Foo is added', function() {
var view = new FooView({collection: new FooCollection()});
spyOn(view, 'fooAdded').andCallThrough();
view.delegateEvents();
view.collection.add({name: 'foo'});
expect(view.fooAdded).toHaveBeenCalled();
});
});
我的 fooAdded() 实现将一些内容记录到控制台,所以我知道它正在被调用。然而,间谍没有看到 fooAdded() 已被调用。
见我的jsFiddle
【问题讨论】:
标签: backbone.js jasmine