Jasmine と Sinon を使用してバックボーン アプリケーションをテストしていますが、問題が発生しています。ビューが初期化されたときに render が呼び出されることをテストしようとしています
私は次のビューを持っています:
var MyView = Backbone.View.extend({
el: '#myElement',
initialize : function() {
var that = this;
this.collection.fetch({
error : function() {
alert("error!");
},
success : function() {
that.render();
}
});
},
render : function() {
this.collection.each(this.renderItem);
}
...
私のテスト
it('Should call render when view is instantiated', function(){
spyOn(MyView.prototype, 'render');
var myCollection = new MyCollection();
this.view = new MyView({collection: myCollection});
expect(MyView.prototype.render).toHaveBeenCalled();
});
問題は、フェッチの成功コールバックが実行される前に、expect() が呼び出されることです。これを解決する最善の方法は何ですか?