问题标签 [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 投票
1 回答
305 浏览

node.js - 是否可以在 NodeExpress 中以某种方式全局访问 req 和 res 对象?

req.session.username = 用户名;

我正在使用 supertest 来测试路由处理。在我的登录处理代码中,如果用户成功登录,我有以下内容 -

但是在超测回调函数中,我无权访问 req 对象。

我想添加类似的内容,expect(req.session.username).toBe('dummy_username')但显然当我无法使用 req 时我不能这样做。那么有没有办法引用 req 对象呢?

0 投票
1 回答
1196 浏览

javascript - 超级代理的编码问题

我正在尝试使用 superagent 执行 API 调用,但它对我的 api 密钥进行了编码,但被拒绝了。

密钥被发送为

任何想法如何使用超级代理来防止这种情况?如果我将它作为“url”部分的一部分,那很好,但如果可能的话,我想将它作为查询数据传递。

0 投票
1 回答
3062 浏览

express - mocha/express/supertest: '错误:done() 调用了多次'

我正在尝试使用 mocha 和 supertest 在 express 中测试我的路线。不幸的是,我似乎无法测试我的重定向。

这是相关代码

我的 app.js 有这个:

app.get('/', routes.index);

我的 routes.index 看起来像这样:

我的登录页面是:

运行测试时出现以下错误,这让我认为它实际上运行了不止一次:

我已经查看并发现了一些可能相关的错误,但它们已经快一年了,我遵循建议的解决方法无济于事: https ://github.com/visionmedia/supertest/issues/11#issuecomment-20251424 和express 使用的测试套件: https ://github.com/visionmedia/express/blob/master/test/res.redirect.js 我在这里不知所措。谢谢

0 投票
1 回答
124 浏览

javascript - 无法在 Mocha 功能之前登录代理

我正在使用 mocha 测试登录过程,这是我的示例测试用例

register和函数都login正常工作,多个之前也按预期的定义顺序执行,register然后是login请求。但是第三次before​​,/verify老是说agent没登录。

如果我将代码更改为:

这次agent按预期记录。有点奇怪。希望有人可以帮助我,谢谢。

0 投票
6 回答
16226 浏览

node.js - 确保 Express 应用程序在每次 Mocha 测试之前运行

我正在使用 ExpressJS、NodeJS、Mongoose 和 Mocha 开发 REST API。

问题是我有一个 app.coffee 文件,它负责设置 ExpressJS 并连接到 Mongoose。我设置的方式是首先连接 Mongoose,如果连接成功,则启动 ExpressJS 应用程序。

问题是在设置 Mocha 时,我需要确保 app.coffee 中存在的 ExpressJS 应用程序在执行任何测试用例之前完全成功启动,包括所有异步代码。

为此,我创建了一个 test_helper.coffee 并将以下代码放入其中,但是,即使 app.coffee 中的代码尚未完全执行,测试用例也会开始执行,这实际上是有意义的:

简而言之,我想确保 ExpressJS 应用程序在执行任何测试用例之前已完全完成设置。

我怎么能这样做?

0 投票
2 回答
1214 浏览

javascript - 从窗口使用 superagentjs(不需要)

我需要从浏览器进行异步调用。

我想使用superagentjs,但我当前的项目不支持 require()。

有没有办法从窗口对象中使用超级代理?

0 投票
0 回答
1126 浏览

javascript - 内容长度 node.js 超级代理

我尝试将 POST 请求发送到另一个站点(API)。我的请求:

request - 是我的图像的superagent、 memsPath 和 img - 变量。

服务器响应为 411,需要内容长度。我如何设置这个长度?

0 投票
3 回答
8451 浏览

node.js - 与 Superagent 保持连接

我正在运行一个 node.js 服务器 A,它使用 superagent 向另一台服务器 B 发出 HTTP 请求。

我调查了服务器 B 上的请求,看到标头和 httpVersionconnection是:close1.1

这将导致:

但是,如果我从浏览器访问同一服务器,我会得到:

https://www.rfc-editor.org/rfc/rfc2616#page-172我了解到这keep-alive是 HTTP 1.1 的默认设置,除非使用Connection: close.

所以,我的问题是:

  • 为什么 Superagent / Node.js 明确将请求设置为不使用 keep-alive / 持久连接?
  • 如何强制 Superagent / Node.js 使用保持活动连接?
  • 如何进一步影响确切的行为(保持打开的连接数、超时等)?
0 投票
1 回答
569 浏览

node.js - 在节点 js 中使用假会话测试路由

我正在为我的服务器使用节点 js + express。我正在用 superagent + 节点单元编写测试,我的路由需要会话来访问它,我可以伪造这个会话来测试我的路由/控制器吗?(可能是superagent没有这个功能,建议换个工具)

0 投票
4 回答
30052 浏览

node.js - 如何使用 superagent/supertest 链接 http 调用?

我正在用 supertest 测试一个 express API。

我无法在测试用例中获得多个请求以使用 supertest。以下是我在测试用例中尝试过的。但是测试用例似乎只执行最后一个调用,即 HTTP GET。

我在这里遗漏了什么,还是有另一种方法可以将 http 调用与 superagent 链接起来?