gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 23:00:51 29 4
gpt4 key购买 nike

我想测试请求返回中的错误。我在测试中使用了 nock,如何强制 Nock 引发错误?我想达到 100% 的测试覆盖率并且需要为此测试 err 分支

request('/foo', function(err, res) {
if(err) console.log('boom!');
});

永远不要进入 if err 分支。即使 hit err 是一个有效的响应,我在测试中的 Nock 行看起来像这样

nock('http://localhost:3000').get('/foo').reply(400);

编辑:感谢一些评论:

  • 我试图模拟请求中的错误。从 Node 手册: https://nodejs.org/api/http.html#http_http_request_options_callback如果在请求期间遇到任何错误(可能是 DNS 解析、TCP 级别错误或实际 HTTP 解析错误),则会在返回的请求对象上发出“错误”事件
  • 错误代码(例如 4xx)未定义 err 变量。我试图准确地模拟它,无论定义 err 变量并评估为 true 的错误

最佳答案

使用replyWithError。来自文档:

    nock('http://www.google.com')
.get('/cat-poems')
.replyWithError('something awful happened');

关于node.js - 如何使用 Nock 测试请求中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27708960/

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