Backbone - Mocha - 在onRender函数中不调用'this.fetched.done'

时间:2015-11-17 11:54:46

标签: unit-testing backbone.js promise mocha sinon

为以下Backbone代码片段(更具体地说是Marionette ItemView)编写测试时,我遇到的问题是当我在{{1}中渲染视图时调用视图的test.html函数,但onRender不输出任何内容。

this.fetched.done(function () {console.log('HELLO')});已在我视图的this.fetched = this.model.fetch();函数中设置。

我正在使用initializeMochaChai进行测试。

我试图强制我的代码调用Sinon方法,方法是在我完成大部分测试设置的done函数中模拟模型中的fetch方法。

beforeEach

运行测试时,它会触发存根中的this.fetchStub = sinon.stub(my.Model.prototype, 'fetch', function () { return { done : function () { return sinon.spy(); } } }); 方法,但不会触发原始承诺的输出。

我还尝试创建一个done并让它返回所需的对象,但我仍然没有从原始sinon.fakeServer方法获得输出。

如何让我的测试真正强制我的代码沿着所需的路径?

这是我要测试的代码:

done

0 个答案:

没有答案