问题标签 [supertest]

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 投票
4 回答
37839 浏览

javascript - 使用 Supertest,我可以创建一个默认设置一些标头的替代请求吗?

我正在使用Supertest和 Mocha 来测试使用 Node JS 开发的 API。

我想对 API 做很多不同的测试。对于几乎所有这些,我必须再次设置 Authorization 和 Content-Type 标头(因为 API 需要它们进行此测试)。

我可以使用默认设置的这些标头创建替代请求吗?

0 投票
1 回答
212 浏览

node.js - 使用 supertest 测试单独运行的节点

我使用 naught ( https://github.com/andrewrk/naught ) 在多个内核上运行我的 node.js 应用程序,并且也没有给我零停机时间部署只用一台机器。

我想使用 supertest ( https://github.com/visionmedia/supertest ) 在每个单独的节点启动之前对其进行测试 - 对于一些基本的集成测试,这将为该节点提供进入池的“OK”(在此之前节点可以处理.send('online'))。

如果超测测试是单个节点的一部分 - 它会自行关闭请求-响应周期(好)还是只是向整个池发送 http 请求(坏)?

如果没有 - 还有其他方法吗?

谢谢 !!!

0 投票
2 回答
1518 浏览

node.js - 使用 supertest 进行测试时将 Node 应用程序重置为已知状态

我经常使用 supertest 针对我的节点应用程序编写黑盒测试。该应用程序加载了数据库装置,黑盒测试对数据库进行了剧烈的测试。我想在某些测试之间重置应用程序状态(这样我就可以运行不同的测试组合而不必担心特定的数据库状态)。

理想的情况是能够用另一个重新加载应用程序:

但这只会在我运行 mocha 时发生一次(因为它应该与require调用一起发生)。我想我可以通过将我的测试包装在批处理文件中的多个 mocha 调用中来做到这一点,但是我的开发人员习惯于运行npm test,我希望他们继续这样做。

我怎么能这样做?

0 投票
1 回答
1502 浏览

express - mocha and supertest.agent not working as expected

I'm trying to write some tests where I need to authenticate first. If I make multiple requests in "before()" I get connection refused. If I split it between "before()" and "it()" it works but I cannot acheive what I want.

Code I want to work:

Code that is working:

0 投票
1 回答
940 浏览

node.js - 我的摩卡咖啡测试出了什么问题?

我在 express.js 和 mongoose 中编写了这段代码

路由.js

应用程序.js

当我从浏览器执行此操作时。我可以看到它从我的 mongo db 中正确返回了结果。

但是当我为相同的代码编写这个 mocha 测试用例时

测试用例输出只是

․</p>

1次通过(18ms)

所以我非常确定它甚至不会进入 end 方法,也不会在 end 方法中打印任何内容。

我可以看到呼叫转到服务器,但它从未与 mongo 建立连接。它只是挂起为 2 的 readyState。

所以不知何故,当测试通过 mocha 执行时......它永远不会连接到 mongo 并且挂在连接上。但是当通过 npm start 执行代码时......一切正常。

mocha 测试用例出了什么问题?

0 投票
0 回答
177 浏览

node.js - 使用 Supertest 的 HMAC 身份验证

我需要拦截supertest请求以签署我的请求,因为我们的端点都需要签名。

我们遵循与 AWS 类似的 HMAC 签名流程,我可以很好地生成签名。但我认为没有简单的方法来拦截请求以遍历 http 请求标头等......

理想情况下,我认为我可以这样做:

Super-Agent项目上似乎有.use(fn)方法。哪个req,res作为参数传递给回调。

但这似乎不适用于supertest代理。

我错过了什么还是有另一种简单的方法可以做到这一点?

0 投票
1 回答
653 浏览

node.js - 如何测试需要 Facebook 身份验证的基于 express 的 API?

我正在编写一个仅使用基于 Facebook 的 PassportJS 身份验证的应用程序。部分提供的 API 仅在用户通过身份验证时可用。我正在尝试找到一种方法来测试这部分 API。我发现了许多测试经过身份验证的 API 的示例,其中使用了登录名+密码,但这里不是这种情况。我也找到了这个线程,但不幸的是,我不明白答案有什么帮助。

你们海军有什么例子可以解释如何实现这一目标吗?

假设我有一个 API:

此调用要求用户通过 Facebook 进行身份验证。

我如何使用超级测试进行测试并使用 FB 模拟用户身份验证?

0 投票
1 回答
943 浏览

node.js - expressjs 4.x 和 https,生成密钥和证书

我想用 express 4.x 创建一个 https 服务器。即使在谷歌上找到的很多代码都是基于 express 3.x 我认为我正确地制作了端口。

即使我尝试使用 goole,我也不太清楚如何生成密钥。没有钥匙,我期待 401。

我尝试使用在这个gist中找到的脚本。但我不断收到错误Error: DEPTH_ZERO_SELF_SIGNED_CERT

我想用curlrequestsuper test来测试它。

这就是我实际拥有的:

服务器.js

客户端.js

0 投票
1 回答
737 浏览

coffeescript - 我如何与超测同步测试

代码:

输出:

我预计以下输出:

我知道如果我在没有回调的情况下进行测试,那么我可以同步测试。但没有用。

0 投票
1 回答
405 浏览

node.js - supertest nodejs 测试获取调用

我正在构建一个 API,我正在尝试用 mocha 和 supertest 对其进行测试。

我正在使用以下代码正确测试 POST 调用:

但是当我尝试使用此代码测试 GET 请求时:

测试失败,如果我运行我的应用程序并在 Chrome 中尝试,我会得到正确的响应 (200)。

我究竟做错了什么?