[英]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's
和method's
,我建议您使用sinon和sinon-mongoose 。 (我猜它与chai兼容)
这样,您将无需连接到Mongo DB并轻松返回假数据。
您可以在sinon-mongoose回购中找到有效的(简单的)示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.