【发布时间】:2017-05-04 19:05:24
【问题描述】:
我有一个向端点发出 AJAX 请求并返回 JSON 的函数。如何使用 Sinon 伪造 AJAX 请求,以便测试该功能是否正常工作?
【问题讨论】:
-
已经尝试过
Fake XMLHttpRequest,正如sinon.js 页面上提到的那样?
我有一个向端点发出 AJAX 请求并返回 JSON 的函数。如何使用 Sinon 伪造 AJAX 请求,以便测试该功能是否正常工作?
【问题讨论】:
Fake XMLHttpRequest,正如sinon.js 页面上提到的那样?
如果你使用的是jQuery.ajax(),你可以这样存根:
var returnData = {name: 'value'}
var stub = sinon.stub($, 'ajax');
stub.yieldsTo('success', returnData);
然后你编写你的测试用例。
最后,你应该像这样恢复原来的jQuery.ajax()函数:
$.ajax.restore();
【讨论】: