gpt4 book ai didi

node.js - 单元/集成测试 Express REST API、mongoose、mocha、sinon、chai、supertest

转载 作者:可可西里 更新时间:2023-11-01 09:15:13 25 4
gpt4 key购买 nike

我对使用 Mongoose 对 Express REST API 进行单元测试感到很困惑。我听说过 supertest、sinon、chai 和 mocha。

我想编写测试:

1)测试API接口(interface):

创建一个 super 测试服务器并向其发出请求(例如 GET/users、POST/users)并检查它是否调用了正确的路由。

2) 测试 Mongoose 查询:

当路由被调用时,我想检查是否调用了正确的 mongoose 函数(find,findById)并且它返回了正确的数据(假数据),比如:

当调用 User.findId 时,返回假用户(在 beforeEach 中定义的数据)。这是 sinon stub 的用途吗?

3) 集成测试:创建一个测试数据库(在测试运行时创建),填充它并在测试完成时清理它。在 super 测试服务器上进行 API 调用(GET users、PUT users/1202082、DELETE users/1202082...)并检查是否读取、创建、更新、删除了正确的数据...

这是要走的路吗?每个案例的简单示例会非常好!

最佳答案

如果你想要测试某些 Mongoose 模型的 static'smethod's,我建议你使用 sinonsinon-mongoose . (我想它与 chai 兼容)

这样,您就不需要连接到 Mongo DB 并轻松返回假数据。

您可以在 sinon-mongoose 上找到有效的(和简单的)示例 repo 。

关于node.js - 单元/集成测试 Express REST API、mongoose、mocha、sinon、chai、supertest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29334829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com