gpt4 book ai didi

javascript - 如何在 Sinon 中过滤请求

转载 作者:数据小太阳 更新时间:2023-10-29 03:49:24 24 4
gpt4 key购买 nike

我正在用 Jasmine 为 Backbone 应用程序编写单元测试。当然,我在测试中使用 Sinon。但是现在我有问题了。我正在为登录屏幕编写测试,我需要模拟服务器响应 - 因为服务器工作非常糟糕。现在我的代码看起来是:

describe('Login', function(){
it('Should simulate server response', function(){
server = sinon.fakeServer.create();
server.respondWith("GET", "http:\\example.com", [200, {"Content-Type": "application/json"}, '{"Body:""asd"}'])
})
$('body').find('button#login').trigger('click');
server.respond();
server.restore()
console.log(server.requests);
})

这段代码工作正常,但我在控制台中看到伪造所有请求,但在登录期间我也有其他请求,我不需要为它们使用伪造的服务器。这是对下一个屏幕的请求。也许存在对特殊请求进行过滤或使用假响应的方法。请帮帮我。谢谢。

最佳答案

诀窍是在 FakeXMLHttpRequest 上使用过滤器服务器的对象。那么只有你过滤掉的请求才会使用假服务器:

server = sinon.fakeServer.create();
server.xhr.useFilters = true;

server.xhr.addFilter(function(method, url) {
//whenever the this returns true the request will not faked
return !url.match(/example.com/);
});

server.respondWith("GET", "http:\\example.com", [200, {"Content-Type": "application/json"}, '{"Body:""asd"}'])

关于javascript - 如何在 Sinon 中过滤请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15072136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com