问题标签 [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.
node.js - 存根中间件
我正在尝试使用 Sinon 在快速路由中删除一些自定义中间件,但它没有像我预期的那样工作。我希望它不会记录“我正在验证...”,而是将“存根”记录到控制台。看起来 sinon 没有正确地存根中间件。
测试/test.js
应用程序.js
auth.js
路由器.js
包.json
node.js - 使用 chai-http 响应解决承诺
我对 NodeJs 非常陌生,并且正在尝试运行测试。我正在尝试从 get 调用返回 http 响应,以便我可以对其运行断言。SendGetResponse() 返回promise 并且sendResponse 等待这个promise 被实现。但我得到 (node:2152) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'then' of undefined 并且 sendResponse 不等待。
任何帮助,将不胜感激!
node.js - 如何在 Mocha/Chai API 单元测试中模拟 req.session
使用 Mocha/Chai 进行 REST API 单元测试,我需要能够模拟req.session.someKey
一些端点。我该如何去嘲笑req.session
?
我正在为使用 express-session 的 NodeJS Express 应用程序编写 REST API 单元测试。其中一些端点需要使用存储在 中的数据req.session.someKey
,如果未定义,端点设置为返回 400,req.session.someKey
因此我需要能够模拟它以使测试成功完成。
示例代码:
我试过的:
我试图使用.set()
来设置 req.session 但我相信 .set 只是设置标题所以我不相信我可以这样更新它,除非我错过了一些东西。
node.js - 在测试环境中的服务器上运行 axio 请求
我在笔记本电脑的不同端口上的 localhost 上运行了两个不同的快速服务器。其中一个正在向另一个提出请求。
我正在尝试使用 chai-http 测试服务器 A,但是从服务器 A 到服务器 B 的后续请求导致Error: connect ECONNREFUSED 127.0.0.1:3020
.
服务器 A 对服务器 B 的请求:
服务器 B // 引导路由 require('./config/passport')(passport); 要求('./config/express')(应用程序,护照);要求('./config/routes')(应用程序,护照);
服务器 B 配置
使用邮递员而不是 chai 进行测试时,该/invite
路线似乎有效。我怀疑 axios 调用,但我不知道在哪里看
node.js - Nock 无法使用 chai-http 和 mocha 捕获 post 请求
我正在创建一个与 API 连接的 Web 应用程序,以便进行登录和一些操作,目前我正在尝试使用,和./authenticate
在我的应用程序上测试路由。chai
chai-http
nock
测试通过但我得到了这个捕获的错误,根据这个,页面没有被重定向,因为调用没有被nock捕获,它被直接发送到API:
但是当我使用真实有效的电子邮件和密码时,此测试通过,没有发现错误:
有了这段代码,测试就通过了,我是否错过了诺克的东西?
=== 编辑 ===
这是我要测试的代码:
这是我的登录路由器(flashMessages 是一个自定义中间件,有助于处理 flash 消息)。
登录路由器使用 loginService,这是与登录一起使用的部分:
最后我有一个用于 http 请求的工具:
任何帮助将不胜感激。
问候。
node.js - 如何修复代码,我的验证使 mocha 在测试过程中行为不端
我有一条制造新车的路线。该路线在邮递员上测试时完美运行,但当我对其运行 MOCHA 测试时。我收到状态码 500 而不是预期的 201。
我做了一些故障排除,发现我的验证是这个问题的原因,但我不知道在哪里
摩卡测试
验证
汽车路线
我期待 mocha 抛出 201 状态代码,但我收到 500 相反,我在用户路线上使用了类似的测试,并且 mocha 测试在该路线上运行良好
node.js - 如何修复路线上的摩卡测试?
我有一条路线,我正在这条路线上进行摩卡测试。测试失败并显示错误消息 Uncaught AssertionError: expected undefined to equal 201'
我已经检查了测试用例,一切似乎都很好。任何知道可能出了什么问题的人
测试
控制器
我希望测试通过,但应用返回 undefined
mocha.js - 如何用 Chai 和 Mocha 测试嵌套对象?
我正在使用 mocha、chai 和 chai-http 对我的 Node.js 和 Express 应用程序进行集成测试。我正在尝试测试我的登录路线是否有令牌。我尝试了不同的断言来检查数据对象内部是否存在令牌,但它们都不起作用。
来自 Postman 的数据如下所示:
这是我的实际测试,我试图检查 res.body 是否在数据对象中嵌套了令牌。
我收到 Uncaught AssertionError: expected { Object (data, hasErrors, ...) } to have property 'data.token'
javascript - 使用 Chai HTTP 和 Express 发布数据未注册
我正在寻找一些关于我的测试代码如何发送发布数据的指导。在我的单元测试中,我希望这.send
会正确设置数据。但是,在运行时没有任何关于req.body
导致TypeError: Cannot read property 'key' of undefined
. 这是我的设置。有人对如何解决这个问题有任何建议吗?
测试代码
快递代码:
mocha.js - Mocha Chai 检查 Json 响应是否包含特定属性
我正在创建 API 测试,它检查响应是否包含结构中的特定键“textId”:
回应如下:
我试过了:
它们都不起作用