问题标签 [nock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1303 浏览

node.js - 模拟重定向的 HEAD 请求(通过 nock 模块)

在我的项目中,我尝试扩展推文以完全显示。被 bit.ly 缩短的链接被这种代码和平扩展(找到@stackoverflow)。

为了在 mocha 测试期间不需要在线,我想在这部分代码中添加以下内容:

但这不起作用。response.request.href 在这项工作之后是“未定义的”。(我尝试了 href 而不是位置,这没有区别。

0 投票
1 回答
804 浏览

node.js - 使用 nock 模拟多个沙发数据库请求

在我原来的功能中,我需要在同一个沙发登录中向 2 个不同的数据库发出 2 个请求。

有了这个,只有第一次调用有效,我可以获得 id:123。地址 db 上的第二次调用没有被拦截。

使用 nock 我只能拦截第一个电话,第二个电话没有发生。任何指针?

0 投票
2 回答
3590 浏览

node.js - 使用 Sinon、redux 和 Karma 测试 axios 调用

你好,在用于测试的 redux 文档中,他们有这个示例来测试 api 调用:

我正在使用业力测试环境,我想我不能使用 nock 来测试它。所以我正在考虑使用 Sinon 来测试它。问题是我不明白如何使用它进行测试,因为我没有将回调传递给我的 api 函数调用。我正在使用 axios 来调用我的外部 API。

0 投票
1 回答
306 浏览

javascript - 如何使用绝对路径模拟请求以进行 JS 测试?

在一个组件中,我向“/api/somecall”发送了一个 xhr 请求

我正在尝试使用 MochaJS 模拟 HTTP 请求以进行测试。

我进入了 nock 但第一个参数是域,无法修复,因为我们在多个域上使用相同的应用程序。

我想用 location.href 模拟一个 DOM,以便在 Mocha 的测试会话开始时以这种方式在帮助程序中将 xhr 发送到特定域,如下所示(我在网络上找到了这段代码的一部分):

不幸的是,当我之后尝试这个时它仍然不起作用:

所有测试都像以前一样返回请求 tiemout。

我怎么可能让它工作?

0 投票
0 回答
288 浏览

node.js - 将 Nock 响应带入调用函数的问题

我刚开始使用 nock 来拦截 http 调用。下面是我在导入所需模块后在单元测试用例中使用的代码。

callFunction 将参数“actionFunction”、“mockData”发送到另一个类,其中 actionFucntion 接受 mockData 并使用 superagent 模块发出 ajax 请求。

现在的问题是虽然 nock 能够拦截 http 调用,但 nock 模拟响应({id:10})没有达到回调函数。我想在回调函数中显示这个响应

有什么可能的方法吗?

0 投票
3 回答
3570 浏览

node.js - Nock 在 Redux 测试中没有拦截 API 调用

我正在尝试在 redux 应用程序中测试 api 调用。代码几乎遵循 redux 文档的Async Action Creators部分中概述的模式:

http://redux.js.org/docs/recipes/WritingTests.html

它的要点是您使用redux-mock-store来记录和断言任何触发的操作。

这是整个测试,使用 nock 模拟 api 调用:

但似乎在运行测试时调用了真正的 lastFm api......从 lastFm 返回真实数据而不是假的 nock 响应。

这是动作创建者本身:

断言失败,因为实时 lastFM 响应与我根据expectedActions对象所期望的响应不同..

我尝试将 nock 分配给一个变量并将其注销。日志显示:

Nock 似乎将端口 80 添加到 url,不确定这是否会导致实际 API 未被模拟:

有什么想法吗?

0 投票
0 回答
174 浏览

redux - 在 Redux / Mocha/ Nock 中测试服务器调用

我是测试新手,所以我什至不确定这是否是我“应该”要测试的东西,但这里有:

我正在关注https://github.com/reactjs/redux/blob/master/docs/recipes/WritingTests.md中的示例,了解如何为异步操作创建者编写测试。这是我正在测试的代码:

我的测试框架是 mocha/chai,带有 nock 和 configureMockStore。我想用 nock 模拟我对 /api/representative 的调用,但我不知道怎么做。

0 投票
1 回答
1617 浏览

javascript - 如何使用 nock 和请求库进行 ETIMEDOUT

如何使用nockhttps://github.com/node-nock/nock)强制 ETIMEDOUT 和request
我尝试了以下操作,其中nock将延迟响应 8000 毫秒,而请求超时将设置为 5000 毫秒,所以我希望看到ETIMEDOUT但事实并非如此。代码将返回then block should not execute: Hello from Google!

摩卡测试/force-req-timeout.test.js --timeout=10000

0 投票
0 回答
398 浏览

node.js - nock '不匹配' 事件回调参数

当 nock 发出“不匹配”事件时,它有时会以一个参数响应,有时会以三个参数响应。我不确定它们是什么。每个参数的键如下:

当使用一个参数调用回调时:

qs,标头,路径,协议,方法,主机名,端口,socketTimeout,代理,clientName,transportName,maxRedirects,proto,主机

当使用三个参数调用回调时:

域,_events,_maxListeners,输出,outputEncodings,可写,_last,chunkedEncoding,shouldKeepAlive,useChunkedEncodingByDefault,sendDate,_headerSent,_header,_hasBody,_trailer,完成,_hangupClose,套接字,连接,_headers,_headerNames,_removedHeader,路径,写,结束,中止,开启,一次,指标,timeoutCb,管道

dnslookup,socketTimeout,重试,markdown-threshold,端口,协议,主机名,basepath,传输,方法,仪器,标头,SVC_CHANNEL_STATUS,调试,路径,checkServerIdentity,moduleRef,clientId,clientName,qs,代理,transportName,maxRedirects,proto,主机,getHeader

''(空字符串)

这是我用来生成密钥列表的代码:

0 投票
0 回答
510 浏览

node.js - 在 nock 范围内重置 pendingMocks

我正在尝试针对一个 nock 范围运行多个断言并在 beforeEach 中模拟请求,但是scope.pendingMocks()即使在我用以下方法清理了所有请求之后,我仍然看到了请求:

在具有多个请求的同一主机上设置模拟并在每个测试中新断言请求的最佳方法是什么?