为以下Backbone
代码片段(更具体地说是Marionette ItemView
)编写测试时,我遇到的问题是当我在{{1}中渲染视图时调用视图的test.html
函数,但onRender
不输出任何内容。
this.fetched.done(function () {console.log('HELLO')});
已在我视图的this.fetched = this.model.fetch();
函数中设置。
我正在使用initialize
,Mocha
和Chai
进行测试。
我试图强制我的代码调用Sinon
方法,方法是在我完成大部分测试设置的done
函数中模拟模型中的fetch
方法。
beforeEach
运行测试时,它会触发存根中的this.fetchStub = sinon.stub(my.Model.prototype, 'fetch', function () {
return {
done : function () {
return sinon.spy();
}
}
});
方法,但不会触发原始承诺的输出。
我还尝试创建一个done
并让它返回所需的对象,但我仍然没有从原始sinon.fakeServer
方法获得输出。
如何让我的测试真正强制我的代码沿着所需的路径?
这是我要测试的代码:
done