jjzjj

javascript - 如何解码诺克记录的响应

如何临时解码/解压缩诺克记录器产生的输出,以便我们可以将响应视为文本?我想我们不明白响应是否经过压缩和/或编码当我们将它加载到nock中时,该对象可以正常工作,并且我们的测试按我们预期的方式运行。要查看API生成的内容,我们必须将日志记录语句放入实现文件中。我们正在记录并保存响应的JSON:nock.recorder.rec({output_objects:true,dont_print:true});JSON.stringify(nock.recorder.play())我们的文件看起来像:[{"scope":"https://some.api.com:443","method":"

javascript - 如何返回对象而不是字符串来响应诺克?

当我用nockstub请求时它返回String结果而不是Object即使'Content-Type':'application/json':varresponse={success:true,statusCode:200,body:{"status":"OK","id":"05056b27b82",}};Test.BuildRequest();Test.SendRequest(done);nock('https://someapi.com')//alsotried//.defaultReplyHeaders({//'Content-Type':'application/json',//

javascript - Node.js Nock模拟请求超时及后续成功

我正在尝试模拟服务请求超时以测试Node请求重试模块,该模块允许您指定请求最大尝试重试次数和重试延迟。为了对此进行测试,我需要使用nock模拟前X个请求的超时,然后成功响应同一个请求。我知道有'socketDelay()'方法可以延迟连接,但如何在第一次延迟响应后指定成功响应?我有这个,它模拟第一个请求的超时//delaysthefirstrequest'sresponseby1500nock(urlHost).post('/'+uriPath).socketDelay(1500).reply(200,'responsebody');但是我怎样才能让它在模拟服务恢复之后更快地响应呢?我

javascript - 如何测试 react-saga axios post

我正在学习如何测试并使用一些示例作为指导,我正在尝试模拟登录帖子。该示例使用fetch进行http调用,但我使用axios。这是我得到的错误Timeout-Asynccallbackwasnotinvokedwithintimeoutspecifiedbyjasmine.DEFAULT_TIMEOUT_INTERVAL此错误的所有答案都与获取有关,我如何使用axios执行此操作./传奇constencoder=credentials=>Object.keys(credentials).map(key=>`${encodeURIComponent(key)}=${encodeURICom

javascript - 相对 URL 作为 Nock 中的主机名

我需要模拟客户端HTTP请求。我在客户端使用isomorphic-fetch并使用mocha和nock进行测试和模拟。我所有的客户请求都是基于相对路径的。因此,我无法为nock提供主机名。有解决办法吗。客户端:fetch('/foo')//hostname:http://localhost:8080.then(res=>res.json()).then(data=>console.log(data)).catch(e=>console.log(e))测试套件nock('/').get('/foo').reply(200,{data:"hello"})这是失败的,因为我没有为nock提供

node.js - 如何使用 Nock 测试请求中的错误?

我想测试请求返回中的错误。我在测试中使用了nock,如何强制Nock引发错误?我想达到100%的测试覆盖率并且需要为此测试err分支request('/foo',function(err,res){if(err)console.log('boom!');});永远不要进入iferr分支。即使hiterr是一个有效的响应,我在测试中的Nock行看起来像这样nock('http://localhost:3000').get('/foo').reply(400);编辑:感谢一些评论:我试图模拟请求中的错误。从Node手册:https://nodejs.org/api/http.html#ht

node.js - 如何使用 Nock 测试请求中的错误?

我想测试请求返回中的错误。我在测试中使用了nock,如何强制Nock引发错误?我想达到100%的测试覆盖率并且需要为此测试err分支request('/foo',function(err,res){if(err)console.log('boom!');});永远不要进入iferr分支。即使hiterr是一个有效的响应,我在测试中的Nock行看起来像这样nock('http://localhost:3000').get('/foo').reply(400);编辑:感谢一些评论:我试图模拟请求中的错误。从Node手册:https://nodejs.org/api/http.html#ht

javascript - nock.js - 如何匹配 URL 中的任何参数组合

我正在尝试模拟对此APIURL的响应http://api.myapihost.com/images?foo=bar&spam=eggURL参数组合可能会有所不同。我正在尝试拦截此请求并以空对象进行响应。nock('http://api.myapihost.com').persist().get('/images','*').reply(200,{});我在测试用例运行时收到此错误消息:UncaughtError:Nock:NomatchforHTTPrequestGET/images?height=2500如何配置nock以匹配URL参数的任意组合? 最佳答

javascript - superagent 和 nock 如何协同工作?

在node.js中,我无法让superagent和nock一起工作。如果我使用请求而不是super代理,它会完美运行。这是一个简单的例子,superagent无法报告模拟数据:varagent=require('superagent');varnock=require('nock');nock('http://thefabric.com').get('/testapi.html').reply(200,{yes:'itworks!'});agent.get('http://thefabric.com/testapi.html').end(function(res){console.lo

node.js - nock 库 - 如何匹配任何 url

您好,我正在试用nocklibrary但我正在努力匹配查询字符串上的随机模式。我认为像下面的代码这样的东西应该可以工作,但我什么都做不了。varnock,request;request=require('request');nock=require('nock');nock("http://www.google.com").filteringPath(/.*/g).get("/").reply(200,"thisshouldwork?");request("http://www.google.com?value=bob",function(err,res,body){returncon
12