这个问题与我之前的问题Fake Ajax request相关。
而不是使用代码 (1)
我想返回 a jQuery deferred object
,然后解决它或拒绝它(需要 2 次测试)来测试服务器何时接受它以及何时服务器拒绝它的期望。
任何想法如何通过使用 jQuery 以一种好的方式完成这项任务?
(1)
describe('When Submit button handler fired', function () {
beforeEach(function () {
var fakeFunction = function () {
this.done = function () {return this; };
this.fail = function () {return this; };
return this;
};
spyOn(backendController, 'submitRequest1').andCallFake(fakeFunction);
this.view = new MyView({
el: $('<div><form><input type="submit" value="Submit" /></form></div>')
});
this.view.$el.find('form').submit();
});
it('backendController.submitRequest1 should be called', function () {
expect(backendController.submitRequest1).toHaveBeenCalled();
});
});