我有以下测试套件:
describe('rendering Bundle View', function () {
beforeEach(function () {
this.view = new Backbone.View();
this.renderStub = Sinon.stub(this.view, 'render', function () {
this.el = document.createElement('div');
return this;
});
this.view.render();
});
it('should have called render once', function () {
console.info('RENDERRRR' + (typeof this.renderStub));
expect(this.renderStub.calledOnce).toBe(true); // this passes
expect(this.renderStub).toHaveBeenCalled(); // this fails
});
});
为什么第一个期望语句通过但第二个失败?第二个给出错误信息:预期间谍但得到函数即使Sinon存根实现间谍API所以它应该返回一个间谍??
答案 0 :(得分:0)
想通了。我认为这是因为我使用的是具有茉莉花功能的Sinon间谍,期望茉莉花间谍因此它不允许我使用Sinon期望陈述