繁体   English   中英

单元/集成测试Express REST API,猫鼬,摩卡,sinon,chai,supertest

[英]Unit/Integration testing Express REST API, mongoose, mocha, sinon, chai, supertest

我对使用猫鼬对Express REST API进行单元测试感到非常困惑。 我听说过超级测试,西农,柴和摩卡咖啡。

我想写测试到:

1)测试API接口:

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

2)测试猫鼬查询:

调用路由时,我想检查是否调用了正确的猫鼬函数(find,findById),并返回了正确的数据(伪数据),类似于:

调用User.findId时,返回假用户(数据在beforeEach中定义)。 sinon存根是干什么用的?

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

是要走的路吗? 每种情况的简单示例都将非常不错!

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

这样,您将无需连接到Mongo DB并轻松返回假数据。

您可以在sinon-mongoose回购中找到有效的(简单的)示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM