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

javascript - nock 不适用于请求(请求承诺)

我正在尝试在下面运行一段代码:

结果我看到一个错误:

有任何想法吗?

0 投票
0 回答
470 浏览

reactjs - 传递响应正文时,Nock 不使用超级代理拦截请求

我正在使用 superagent 进行 api 调用,当我在回复中传递 JSON 时,nock 不会拦截调用。如果我什么都不通过,只是响应代码,它工作正常。

- - 单元测试 - -

---- 中间件-----

当我在上面运行测试用例时,它会记录响应和错误。但是当我将 nock 更改为:

控制台中没有记录任何内容。即使我只是将 String 作为响应传递它也行不通。

但是无论是否有响应,拦截器都会返回 true。console.log node_modules\nock\lib\interceptor.js:318 匹配http://somehost:80?sid=01&sid=02到 GET http://somehost:80/location with query(true): true

我最好的猜测是标题有问题???

节点-v:v4.3.1

“笑话”:“^21.2.1”,“nock”:“^9.0.21”,“超级代理”:“3.5.2”

0 投票
2 回答
883 浏览

javascript - 测试异步 async await JavaScript 函数

我编写了一个异步 JavaScript 函数,但似乎没有得到我期望的返回值。如果我误解了异步函数的工作原理,或者我的测试不太正确,有人可以解释一下吗?

下面是我的测试,使用 Nock 模拟了一个服务。

以及被测功能:

我已经注销了代码采用的路径,并且它似乎确实按预期进入了 else if 分支,但是我总是得到一个空对象 {} 返回,而不是像预期的那样具有错误和成功属性的对象?

0 投票
1 回答
7124 浏览

node.js - Nock 不适用于同时运行的多个测试

我正在使用nock库来存根我的 http 调用。不同的测试文件require('nock')并做他们的存根。如果每个测试都单独运行,则一切都通过了。但是如果所有测试一起运行,后面的测试就会失败,因为发出了实际请求而不是 nock

例如,考虑下面的代码片段。它有两个不同的describe块,每个块都有多个测试用例。如果我运行这个文件node node_modules/mocha/bin/_mocha test.js,那么前两个测试将通过,但第三个测试(在不同的describe块中)会失败,因为它实际上会调用googleURL。

有趣的是,如果我这样做console.log(nock.activeMocks())了,那么我可以看到 nock 确实注册了要模拟的 URL。

0 投票
1 回答
428 浏览

node.js - 对 fs.readFileSync(file) 的 nock 调用

我有一个函数,我正在读取文件的内容,然后进行一些处理:

我正在为它编写单元测试。对于其中一项测试,我想调用 fs.readFileSync(filepath) 以返回一些我想设置的内容。有没有办法调用 fs.readFileSync(filepath) ?

我开始创建一个 sinon.stub 为:

但是,它返回给我一个错误:

0 投票
0 回答
627 浏览

node.js - 使用 Sinon + Mocha + Nock 模拟带有 headers 的 http.patch

我正在尝试使用 Sinon + Mocha + Nock 模拟 PATCH 请求。

以下是我为 nock 服务提供的代码:

测试执行失败并出现以下错误响应(为便于阅读而格式化:

错误:Nock:与请求不匹配

相关请求负载:

0 投票
1 回答
304 浏览

javascript - getObject 模拟返回 0 字节文件

getObject 模拟返回 0 字节文件。我的模拟要求是获取完整的文件。

我的代码如下:

这是图书馆的问题还是我做错了?
请帮我解决一下这个。提前致谢。

0 投票
1 回答
510 浏览

redux - 用 jest 测试 redux 异步动作创建者

我开始为我的应用程序编写测试。我正在尝试为 redux 异步创建者创建测试。

问题是当我运行测试时出现以下错误:

获取所有用户 › 调度操作 loadUsersSuccess

动作可能没有未定义的“类型”属性。你有没有拼错一个常数?行动:未定义

所有动作都定义了类型常量,所以我不明白应该是什么问题。


0 投票
1 回答
1017 浏览

node.js - 使用 npm-nock 创建动态模拟请求

我在使用nock 模拟动态 url 时遇到问题

我想模拟的网址:
http ://example.api.com/svc/Utility.svc/json/GetAPICallRefresh_Module?from=2017-11-25T12:20:50.404Z&module=tennis&languageCode=2

问题是from作为 ISO 时间戳的参数,并且每个 API 调用都会发生变化。

模拟请求:

不工作:Error: Nock: No match for request 你能帮忙吗?

0 投票
0 回答
1885 浏览

node.js - 如何在 NODEJS 中使用 nock 模拟内部服务器错误

我正在使用 Nock 测试我正在测试内部服务器错误(500)的场景。当我运行我的代码时,它会抱怨“NOCK: No Match For Request”。

这是我的单元测试代码如下:

** 我没有使用 request 模块进行休息调用,我使用requestretry进行请求。