如何使用Sinon存根AJAX调用

我有一个函数,它向端点发出一个AJAX请求并获取JSON,我如何使用Sinon伪造该AJAX请求,以便我可以测试该函数是否正常工作?

如果你使用的是jQuery.ajax() ,你可以像这样存根:

 var returnData = {name: 'value'} var stub = sinon.stub($, 'ajax'); stub.yieldsTo('success', returnData); 

然后你写下你的测试用例。

最后,您应该恢复原始的jQuery.ajax()函数,如下所示:

 $.ajax.restore();