问题标签 [superagent]

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 投票
5 回答
12905 浏览

ecmascript-6 - 承诺 es6 和 superagent

我正在尝试将 es6 Promise 与 superagent 一起使用。我正在尝试调用一个包含超级代理请求的函数。

这是包装超级代理的功能

我收到一个错误

enter code here Uncaught TypeError: Cannot read property 'then' of undefined

当我将函数的返回更改为

看起来数据是在我的浏览器的开发工具中返回的,但我无法在 .then 函数中访问它。我怎样才能从承诺中得到回应。

0 投票
1 回答
275 浏览

javascript - 超级代理“请求”对象被重新定义为函数?

我正在尝试组合一个supertest基于 的集成测试套件(由 Mocha 运行),它可以 ping 我们的 REST API 并验证响应。

但是,我的测试似乎没有按预期运行:

我在控制台中看到的内容:

它似乎request被重新定义为一个函数,而不是superagent对象?

测试不应该通过,至少应该看到console.log打印参数。err

0 投票
4 回答
7660 浏览

javascript - 测试 API 如何使用 node.js 处理无效的 JSON 语法请求正文

我想测试 REST API 如何处理具有无效 JSON 语法的正文的 POST 请求,例如缺少逗号。我正在使用 node.js 编写 API 测试。我正在使用frisby但我也尝试过supertest。没运气。使用之前的工具,您将请求正文作为 JavaScript 对象传递,因此行不通。我还尝试将无效的 JSON 作为字符串传递,但没有任何运气,因为字符串也是有效的 JSON(下面的示例)。有任何想法吗?

0 投票
0 回答
583 浏览

unit-testing - 在 Jest 中要求 superagent 会导致错误

运行 Jest 测试时出现以下错误:

如果 Jest 自动模拟出依赖项,那么任何需要的文件都不应该superagent得到模拟superagent吗?我拥有的所有甚至使用它发出 http 请求的功能都已被模拟为只返回测试数据而不发出请求。我不明白为什么我会收到错误。

更新

我尝试了此处找到的手动模拟。它仍然给我同样的错误。

0 投票
1 回答
2432 浏览

node.js - SuperAgent + Node.js 连接被拒绝

我对 Node.js 很陌生,所以这可能是一个基本的理解问题,但是ECONNREFUSED当我认为我不应该这样做时,我是从超级代理 http 请求中获取的:

我做了什么假设打破了这一点?我实际上正在编写同构 JavaScript 和完全相同的代码,使浏览器上的 http 查询工作正常!

0 投票
2 回答
1367 浏览

javascript - Getting "TypeError: object is not a function" when using supertest/superagent in forEach loop

I'm using supertest to test a set of URLs by the same rules.

When there is only 1 URL in the array, it works just fine. If I add a 2nd one, however, it fails with the output:

My guess is that I can't have 1 instance of supertest running twice, but I can't seem to find a solution to work around this. Any help is appreciated.

0 投票
1 回答
1420 浏览

javascript - 使用具有 A+ 规格的 Superagent?

除了 Promises A+ 规范外,我如何使用Superagent ?我正在开发一个同时使用 Superagent 和Bluebird的项目,我想使用该.then()语法,但如果不编写我自己的包装器代码,我无法找到一种简单的方法来做到这一点。

我看到了这个项目 ,但不想在每次调用时都使用 .promise() 。

是否有任何其他现有模块使它看起来更像蓝鸟?

更像是——

[编辑]我实际上已经制作了一个模块来按照我喜欢的方式执行此操作(类似于上面的示例)。

如果有人感兴趣 - github 链接npm 链接

0 投票
1 回答
200 浏览

express - 测试 express 应用时如何去掉 supertest 的输出?

我正在构建一个 Express.js API,并且正在使用 mocha 和 supertest 进行测试。

但是,看看这个:

我想摆脱 GET / 200 日志,所以它看起来像这样:

有任何想法吗?

0 投票
1 回答
1155 浏览

javascript - 使用 nock 在 mocha 中模拟具有某些请求标头的超级代理请求

我有以下代码:

现在,除非我reqheaders想念application/jsontext/html.

我想念理解的用途reqheaders吗?如何使用 nock 模拟请求中具有某些标头的请求?

0 投票
1 回答
2308 浏览

node.js - 节点无法通过管道传输 pdf 响应

尝试编写一个测试(mocha)来检查从我的 api 端点返回的 PDF 是否包含正确的数据并且看起来应该。PDF 在服务器上生成。手动命中端点时它返回“正确”,但想编写一些测试。我上传了一个示例“正确”PDF 到我的测试套件,我可以用鹰嘴豆泥 js 解析它并提取必要的方面进行比较。

我想向我的端点(使用超级代理)发出请求,然后将响应(pdf)通过管道传输到临时 pdf 中。然后我将解析两个 PDF(上传的完美文件和从我的端点返回的文件)并确保它们匹配。

我的请求代码:

当我运行测试时,我得到:未捕获的错误:无法管道。不可读。我对节点很陌生,所以我不确定是什么导致了错误。当我安慰 res 时,我得到一个大的二进制编码的混乱,所以也许这就是问题所在?我尝试了几件事 - 使用鹰嘴豆泥 pdfWriter,尝试用

新缓冲区(res,'base64')

等等......但仍然没有运气。我相信我已经为这些操作安装了所有必要的软件包,这似乎是一个管道/解码/超级代理问题。谢谢您的帮助!

编辑:我误解了管道。您可以简单地将响应写入文件:

在这种情况下转换为 ascii。我现在更近了,但仍然挂在编码片上。这将创建一个空白 PDF。当我以崇高的方式观察文件内容时,它们似乎与我要比较的 PDF 相同,但编码不同。有人知道如何匹配原始 PDF 的编码或弄清楚它是如何编码的吗?或者如果这甚至是可能的?我使用 PDFkit 构建 PDF。