【发布时间】:2012-11-28 12:12:44
【问题描述】:
describe('Ajax', function () {
beforeEach(function () {
// Instantiate module and reference it with this.testUser
this.testUser = new TestUser();
// Reference sinon.spy with this.spySetToken
this.spySetToken = sinon.spy(this.testUser, 'setToken');
});
afterEach(function () {
this.spySetToken.restore();
});
it('Does it respond with that data', function () {
// Wrap $.ajax method and invoke success callback from ajax passing it a 'string'.
sinon.stub($, 'ajax').yieldsTo('success', 'Custom response string');
// test to see if my method that's inside the success callback is called with the string
expect(this.spySetToken.toHaveBeenCalledWith('Custom response string');
});
});
我得到“预期的要调用的函数”。
如何成功测试 Ajax 成功方法?
【问题讨论】:
-
好吧,您的测试似乎没有进行任何 Ajax 调用(您只是在设置间谍)。你确定你没有丢失代码?