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

node.js - 用本地人测试快速渲染

这是我的示例代码:

文件:index.js

文件:test.js

显示console.log(res.body)输出为{}。如何让局部list变量显示在输出中?我想测试这个局部list变量在我的 test.js 文件中是否有任何数据。

0 投票
1 回答
396 浏览

node.js - 尝试使用 chai-http 测试 nodejs express4 路由时没有响应

我尝试对 nodejs express4 路由运行测试并且无法获得响应,如果尝试运行应用程序并执行本机(POstMan)测试 - 像 sharm 一样工作)。

应用程序.ts

测试.ts

结果我得到错误

错误:超过 2000 毫秒的超时。对于异步测试和钩子,确保调用了“done()”;如果返回 Promise,请确保它已解决。

0 投票
1 回答
3341 浏览

node.js - Chai http - 双重回调问题

我使用 chai-http 对我的 REST api 进行了正常的单元测试。它失败并出现以下错误

如您所见,rawResponse由于测试失败,因此重复。我调试了代码,控制器代码只被调用一次,输出正确。但无法理解为什么会发生此错误。

以下是测试代码

0 投票
1 回答
1249 浏览

javascript - Mocha chai-http 响应总是返回 null

我正在通过 mocha chai-http 在 Node.js 中测试服务器响应。 我得到的响应总是 null。但是,当我在没有 mocha 测试运行程序的情况下定期运行请求时,一切都很好。

这是服务器代码:

这是 mocha chai-http 测试代码:

我想我的要求是错误的。

0 投票
0 回答
250 浏览

node.js - node.js mongoose chai-http RESTful API 测试(唯一字段)的行为与手动 ARC API 测试不同

各位开发者您好,

我编写了一个基于 node.js 和 mongoose 的 RESTful API 服务器。在编写相应的测试时,我对使用 chai-http 的自动化测试和使用 ARC(高级 REST 客户端,chrome 插件)的手动 API 测试之间的行为有着显着不同的奇怪体验。

我的用户模型(见下面的定义)有一个唯一的“用户名”字段。当我使用 ARC 使用现有用户名 /POST 一个新用户时,我从 mongodb 驱动程序中得到了一个 E11000,正如预期的那样。

当我使用 chai-http.request.post 做同样的事情时(至少我是这么认为的),我得到一个状态码 200,一个成功的结果,我的测试数据库集合中有两个用户名相同!

用户模型模式,包括/挂钩/导出等。省略:

POST /users 的通用路由处理函数,其中“model”是上述用户模式的一个实例:

chai 测试用例产生状态码 200 和 SUCCESSful 插入(不符合预期!):

在 POST 请求之后,带有 GET /users 的相同 chai 测试用例日志输出:

如您所见,第二个用户有一个现有的用户名,但添加时没有错误。有任何想法吗?我的测试用例是否错误,我的 API 是否应该正常工作?或者我是否在我的服务器中创建了一个潜在危险的错误?我对 PUT /users/ 也有相同(不同)的行为。

任何帮助将不胜感激,

狼蛛

/编辑:出于好奇,我使用了 NPM 包“mongoose-unique-validator”,并且,tada,所有测试用例都按预期工作。

0 投票
0 回答
6150 浏览

rest - 可以用webdriverIO和chai-http写api rest自动化测试吗?

我正在尝试使用webdriverIO对 API 进行自动测试而没有任何结果,也尝试使用chaichai-http使用webdriverIO,但还没有。有什么线索吗?

这是我写的:

更新
我正在使用webdriverIOwithmocha和. 我运行它的方式是通过命令,而我使用的浏览器命令是. 我想达到的终点是chaichai-http.\node_modules\.bin\wdio wdio.conf.js --spec .\test\specs\test\get_test.jsbrowser.url('/invoices')https://app.alegra.com/api/v1/contacts/

这是我的package.json

0 投票
1 回答
91 浏览

node.js - 使用带有 MySQL 的 Bookshelf 测试项目时随机超时

第一次运行我的测试规范时,所有测试都通过了,但是如果我继续运行它,它会导致测试超时,以检查当外键值无效时是否返回错误。

这是我的代码错误还是与 Bookshelf 甚至 Mocha 相关的已知问题?

这是我的测试规范:

我得到的第一次执行:

/POST 任务列表 ✓ 不应发布没有状态的任务列表 (49 毫秒) ✓ 不应发布状态无效的任务列表 ✓ 不应发布没有用户 ID 的任务列表 ✓ 不应发布具有无效用户 ID 的任务列表 ✓ 不应发布预计结束日期早于开始日期的任务列表

接下来的处决:

这是 POST 到 /api/tasklists 时执行的代码:

0 投票
0 回答
320 浏览

javascript - chai-http/superagent : 设置多部分表单域的 Content-Type

在集成测试中上传文件如下:

多部分文件的内容类型是:application/octet-stream我需要它是image/png. 我该如何设置?

0 投票
0 回答
346 浏览

node.js - 使用 mocha-chai superagent 测试多个同时会话

我正在尝试为多个套接字连接编写测试,我需要(同时)有多个会话,因为它们是由服务器端的会话 ID 标识的......

在下面的示例中,client1将连接并且握手将通过带有会话 id 的 cookie,因此我可以使用express-socket.io-session获取该用户的会话数据....

我遇到的问题是当我想连接第二个套接字时,传递的握手数据显然与第一个套接字相同。

我不能只发送注销请求并更改用户,因为我正在尝试测试多人游戏功能。

0 投票
0 回答
695 浏览

node.js - chai expect 停止执行而不是失败

我的问题解决方法应该是一个非常基本的解决方法。我正在使用 mocha、chai 和 chaihttp 来测试我的 API 集

我的测试停止执行,而不是显示测试失败并出现断言错误。这是屏幕截图

截屏