问题标签 [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 回答
4065 浏览

javascript - 用 nock 模拟肥皂服务

我正在开发一个node与soap服务通信的应用程序,使用foam模块将json解析为有效的soap请求,并在收到响应时再次返回。在与肥皂服务通信时,这一切都很好。

我遇到的问题是为此编写单元测试(集成测试工作正常)。我nock用来模拟 http 服务并发送回复。这个回复确实会被解析foam,然后我可以对回复做出断言。

所以我不能传递一个 json 对象作为回复,因为foam需要一个肥皂响应。如果我尝试这样做,我会收到错误:

将 XML 存储在 javascript 变量中是痛苦的并且不起作用(即用引号括起来并转义内部引号是无效的),所以我想将模拟的 XML 响应放入一个文件并将其作为回复传递。

我尝试将文件作为流读取

...并用文件回复

两者都失败,错误为

这是文件中的XML

正在测试的模块是

断言正在使用should-promised

所以看起来 xml 解析器不会只接受一个文件(这是有道理的)。流在测试之前是否未完成?

可以用 nock 成功地模拟 XML 回复吗?

我也在Github上提出了这个

0 投票
1 回答
1345 浏览

node.js - 使用 nock 模拟打开的 Web 套接字

我正在尝试使用 nock 对针对 Oanda 的交易 API 编写的代码运行回测。为此,我需要模拟流式价格 API(请参阅http://developer.oanda.com/rest-practice/streaming/上的 Rates Streaming )。但是,似乎 nock 只允许您使用单个回复进行响应,即使响应是流。有没有办法发送数千个价格事件流作为对单个请求的单独响应?

0 投票
1 回答
7827 浏览

javascript - Node.js Nock simulate request timeout and subsequent success

I'm trying to simulate service request timeouts to test the node requestretry module, which allows you to specify a request max # of attempted retries and retry delay. In order to test this, I need to use nock to simulate a timeout for the first X number of requests, then respond successfully to the same request. I know there is the 'socketDelay()' method to delay the connection, but how do I specify a successful response after that first delayed response?

I have this, which simulates a timeout on the first request

but how can I make it respond faster after that to simulate the service recovering? I'm looking to do something along these lines

0 投票
1 回答
450 浏览

node.js - 为什么 Mocha 会通过这个 https.get 请求?

全新的测试。试图弄清楚为什么 mocha 在它应该失败的时候通过了这个测试。

在此处输入图像描述

0 投票
2 回答
4163 浏览

node.js - Nock + 多部分表单数据 = 请求不匹配

我在使用Nock测试我的节点应用程序时遇到问题。我通过 记录所有请求nock.recorder.rec,但其中有多部分请求。我使用表单数据。当我使用功能时,此模块将边界设置为请求正文form.append。问题是边界总是不同的,当我使用记录的数据运行测试时,Nock 找不到请求的匹配项(因为请求正文中的 boyoudary 不是记录时的内容)。可以做什么?对不起,我的英语不好。

0 投票
1 回答
2590 浏览

node.js - 使用 nock 和 mocha 进行 HTTPS 模拟

我正在尝试模拟条带化请求,但我遇到了困难。我在我的摩卡describe块顶部做一些简单的事情,看起来像

只是看看它是否拦截了任何东西。但事实并非如此。我在任何地方都找不到这样的例子,而且我担心 Nock 不支持它,在这种情况下我需要找到一个更好的工具。

谁能帮我解决这个问题?

谢谢!

0 投票
5 回答
4808 浏览

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

我需要模拟客户端 HTTP 请求。我isomorphic-fetch在客户端使用,我正在使用mochaandnock进行测试和模拟。我所有的客户请求都基于相对路径。因此,我无法为nock. 有解决办法吗。

客户端:

测试套件

这是失败的,因为我没有为nock. 难道我做错了什么?

0 投票
1 回答
1630 浏览

javascript - 我们如何模拟 Redux 异步操作的 fetch?

在 Redux 的编写测试部分中,如果字面意思是调用,store.dispatch(actions.fetchTodos())不调用方法是如何实现的?fetchstore.dispatchactions.fetchTodos

0 投票
2 回答
3173 浏览

mocking - 模拟 nock 不匹配的超级代理发布请求

我一辈子都无法使用简单的超级代理发布请求。这是我的 superagent 和 nock 配置。

超级代理:

诺克:

我从 nock 收到以下错误:

{ [Error: Nock: No match for request POST https://test.com/api/login {"email":"test@test.com","password":"testpassword"}] status: 404, statusCode: 404,响应:未定义}

另一个奇怪的方面是这个错误被记录在我的超级代理响应处理程序中。所以我知道正在拨打电话并被拦截。

0 投票
3 回答
318 浏览

javascript - 在 Redux 操作中测试副作用

我正在阅读此处的 Redux 教程。

在我创建的应用程序中,我有一个带有副作用的操作,就像在调用 Date.now() 的 receivePosts 函数中显示的那样。

异步功能完成后会触发副作用。在我自己的应用程序中执行此异步测试时。我收到如下回复:

我预期行动的日期不等于实际行动的日期。在我预期的行动中,我有以下几点:

我的代码结构与 Redux 教程中的代码完全相同,除了我的 action creator 有这个副作用。

我的问题归结为:我如何处理这些副作用以使我的测试通过?