モデルがビューのコレクションに追加されたときにビューの関数が呼び出されることを確認するために、Jasmine仕様を作成しようとしています。
ビューの初期化関数で私はします
this.collection.on('add', this.fooAdded, this);
私のジャスミン仕様では、私は次のことを行っています。
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()が呼び出されたことを認識しません。