问题标签 [chai-http]

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 投票
0 回答
493 浏览

unit-testing - Chai-http 似乎不接受标头总是发送 401

我正在尝试测试使用 jsonwebtoken 保护的 API 路由。

我已经在邮递员中测试了我的路线并得到了正确的结果,但是使用 mocha/chai/chai-http 运行相同的测试不起作用。

每次我测试受保护的路线时,我都会收到 401 'unauthorized'

我的直觉是,不知何故存在一种竞争条件,即传递到集合中的令牌在测试运行之前还没有完成签名。但在结果中,我的令牌似乎已被设置。

在此处输入图像描述

此外,如果我在看到它与创建的令牌匹配之后 console.log 令牌。有人遇到类似的问题吗?

在此处输入图像描述

0 投票
1 回答
160 浏览

javascript - Chai-http:发送 204 状态而不是预期状态

我对 chai 的测试很少。在这里,我用我的测试文件代码创建了要点https://gist.github.com/dulgeoion/56f90024ddc416abd3496d4d52dfb030

所以,在最后两个测试中,我得到了这个错误Uncaught AssertionError: expected 204 to equal 406并且Uncaught AssertionError: expected 204 to equal 200. 我是第一次做测试,不知道是什么问题。

非常感谢!

0 投票
0 回答
8589 浏览

node.js - 如何在 Axios 中使用客户端证书进行 HTTPS GET

如何使用 chai-http 使用客户端证书执行获取请求,如下所示?

以下代码返回错误:

错误:错误:0906A068:PEM 例程:PEM_do_header:密码读取错误

我想这是因为缺少密码参数。

使用 axios 就可以了:

0 投票
1 回答
224 浏览

javascript - 使用 chai-http 使用 mocha-chai 进行测试期间的 UnhandledPromiseRejectionWarning

制作我的第一个快速应用程序,我正在尝试为 api 端点编写测试,并使用数据结构作为数据库的占位符,但即使测试“通过”,控制台中仍会出现错误,如图所示

控制台输出

有人可以解释为什么吗?PS:我更新了问题以显示我的 api 端点、测试和数据库占位符,我基本上需要有关如何处理涉及和 id 的请求的提示。

0 投票
3 回答
2900 浏览

typescript - 测试时出现 Typescript、Express、Mocha 和 Chai 错误

我在 typescript 中使用 express 制作了我的第一台服务器,它运行良好

现在我尝试测试存储在应用程序中的路线:

使用此测试:

但即使在运行服务器本身工作时,用

向我抛出此错误:

/Users/.../NotificationService/src/Server/index.js:5 var app = express_1.default(); ^ TypeError: express_1.default 不是 Object 的函数。(/Users/.../NotificationService/src/Server/inde> x.js:5:28)

我正在使用 es6 目标和 commonjs 模块。如何正确测试我的服务器?

更新 1 我现在摆弄了一下,结果发现default()从编译的代码中删除该方法解决了一些问题。

现在,我明白了

/Users/.../NotificationService/test/node_modules/@types/chai-http/index.d.ts:13 import * as request from 'superagent'; SyntaxError:意外的令牌导入

更新 2 我的 ts-config.json:

0 投票
1 回答
157 浏览

node.js - 使用 chai 的 API 单元测试给出错误的结果

我正在为使用 nodejs 和 mongoose 的 API 编写单元测试。我正在使用 mocha、chai 和 chai-http 进行单元测试。

我正在测试一个创建客户的 POST 请求。第一个测试创建了一个客户,它通过了。最后一个测试将尝试创建一个客户,但由于电子邮件已经存在,所以应该会失败,但由于请求会创建一个新客户,所以会失败。

我尝试使用邮递员手动执行请求,它给出了正确的行为。

以下是测试:

});

0 投票
1 回答
105 浏览

testing - chai-http 将两个不同的同名字段视为一个字段

我使用 mocha 和 chai-http 来测试我的 api 服务器。问题是它将查询{stock: 'msft', stock: 'aapl'}视为{ stock: 'aapl' }.

测试 :

结果 :

输出{ stockData: { stock: 'AAPL', price: '185.7900', likes: 7 } }仅显示一只股票。预计回归

0 投票
0 回答
181 浏览

node.js - 使用 mocha / chai 测试服务:测试登录时出错

我正在为登录服务编写测试。如果登录正确,则测试必须通过。在每次测试之前,都会清洁 bd。所以我首先创建一个用户,然后尝试登录。预期的行为是在响应中收到状态 200,但实际上我收到的是状态 401,这表示我没有正确创建用户。

测试结果:

未捕获的 AssertionError:预期 { Object (_events, _eventsCount, ...) } 的状态码为 200 但得到了 401

任何暗示这里发生了什么?

0 投票
2 回答
380 浏览

node.js - UnhandledPromiseRejectionWarning 测试失败

我有一些遵循以下结构的 mocha/chai/chai-http 测试,但是每当一个测试失败时,我都会得到一个UnhandledPromiseRejectionWarning我似乎无法弄清楚它的来源。

UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。

我尝试.catch(err => Promise.reject(err)在 the 之后添加一个,.then()但它也不起作用。我可以在这里做什么?

0 投票
1 回答
565 浏览

node.js - NodeJS - 无法附加客户端证书以使用 Mocha/Chai-Http 进行测试

我正在我的登录端点上检查客户端证书。使用 Postman 等进行测试一切正常,但我无法使用我的 mocha/chai-http 单元测试运行它。

我什至不能req.socket.getPeerCertificate()那样做。有人知道这将如何工作吗?

我的登录控制器方法:

我的服务器选项