Backbone.js 如何使Sinon Fake服务器响应某些路由,而不是所有路由
是否可以设置Sinon Fake Server以响应某些路由,例如/产品,但不响应/订单 我的场景是:我没有使用Sinon Fake Server进行单元测试,我想在API尚未为应用程序的给定区域准备好的情况下伪造服务器。我希望应用程序在所有情况下都调用真正的服务器,但当它调用/products时,我希望sinon为我响应它 我可以将对Sinon的引用临时添加到产品页面,直到获得真正的API,然后将其删除,但理想情况下,我希望将所有这些与真正的实现隔离开来。现在,我的main.js文件上有一个UseFakeServer标志,用于确定sinon是否打开。我的假服务器有一个RespondWith列表,但是如果在那里没有找到路由,我会得到一个404,而不是尝试去真正的服务器。fake server AutoRespond设置为true 不确定这是否有什么不同,但我在前端使用主干Backbone.js 如何使Sinon Fake服务器响应某些路由,而不是所有路由,backbone.js,sinon,Backbone.js,Sinon,是否可以设置Sinon Fake Server以响应某些路由,例如/产品,但不响应/订单 我的场景是:我没有使用Sinon Fake Server进行单元测试,我想在API尚未为应用程序的给定区域准备好的情况下伪造服务器。我希望应用程序在所有情况下都调用真正的服务器,但当它调用/products时,我希望sinon为我响应它 我可以将对Sinon的引用临时添加到产品页面,直到获得真正的API,然后将其删除,但理想情况下,我希望将所有这些与真正的实现隔离开来。现在,我的main.js文件上有一个U
谢谢 假设您通过HttpXMLRequest执行API请求,并且至少使用Sinon 1.3.0,那么您应该使用Sinon.useFakeXMLHttpRequest,然后您就能够过滤哪些请求应该伪造 使用Sinon.JS进行实体模型或部分集成/功能 在测试中,您可能希望伪造一些请求,同时允许其他请求 转到后端服务器。过滤
FakeXMLHttpRequest
s(Sinon 1.3.0中新增),您可以
FakeXMLHttpRequest.useFilters
defaultfalse。当设置为true时,Sinon
如果某些请求应该是“未绑定的”,将检查添加的筛选器
FakeXMLHttpRequest.addFilter(fn)
添加一个将决定
或者不要伪造请求。当xhr.open打开时,将调用过滤器
调用,使用完全相同的参数(方法、url、异步、用户名、,
密码)。如果筛选器返回true,则不会伪造请求
例如,您希望所有对/产品的请求不由Sinon处理
sinon.FakeXMLHttpRequest.useFilters = true;
sinon.FakeXMLHttpRequest.addFilter(function(method, url, async, username, password) {
return /\/products/g.test(url);
});
看