问题标签 [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.
node.js - 是否可以在 NodeExpress 中以某种方式全局访问 req 和 res 对象?
req.session.username = 用户名;
我正在使用 supertest 来测试路由处理。在我的登录处理代码中,如果用户成功登录,我有以下内容 -
但是在超测回调函数中,我无权访问 req 对象。
我想添加类似的内容,expect(req.session.username).toBe('dummy_username')
但显然当我无法使用 req 时我不能这样做。那么有没有办法引用 req 对象呢?
javascript - 超级代理的编码问题
我正在尝试使用 superagent 执行 API 调用,但它对我的 api 密钥进行了编码,但被拒绝了。
密钥被发送为
任何想法如何使用超级代理来防止这种情况?如果我将它作为“url”部分的一部分,那很好,但如果可能的话,我想将它作为查询数据传递。
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 我在这里不知所措。谢谢
javascript - 无法在 Mocha 功能之前登录代理
我正在使用 mocha 测试登录过程,这是我的示例测试用例
register
和函数都login
正常工作,多个之前也按预期的定义顺序执行,register
然后是login
请求。但是第三次before
,/verify
老是说agent
没登录。
如果我将代码更改为:
这次agent
按预期记录。有点奇怪。希望有人可以帮助我,谢谢。
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 应用程序在执行任何测试用例之前已完全完成设置。
我怎么能这样做?
javascript - 内容长度 node.js 超级代理
我尝试将 POST 请求发送到另一个站点(API)。我的请求:
request - 是我的图像的superagent、 memsPath 和 img - 变量。
服务器响应为 411,需要内容长度。我如何设置这个长度?
node.js - 与 Superagent 保持连接
我正在运行一个 node.js 服务器 A,它使用 superagent 向另一台服务器 B 发出 HTTP 请求。
我调查了服务器 B 上的请求,看到标头和 httpVersionconnection
是:close
1.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 使用保持活动连接?
- 如何进一步影响确切的行为(保持打开的连接数、超时等)?
node.js - 在节点 js 中使用假会话测试路由
我正在为我的服务器使用节点 js + express。我正在用 superagent + 节点单元编写测试,我的路由需要会话来访问它,我可以伪造这个会话来测试我的路由/控制器吗?(可能是superagent没有这个功能,建议换个工具)
node.js - 如何使用 superagent/supertest 链接 http 调用?
我正在用 supertest 测试一个 express API。
我无法在测试用例中获得多个请求以使用 supertest。以下是我在测试用例中尝试过的。但是测试用例似乎只执行最后一个调用,即 HTTP GET。
我在这里遗漏了什么,还是有另一种方法可以将 http 调用与 superagent 链接起来?