首页 文章

单元/集成测试Express REST API,mongoose,mocha,sinon,chai,supertest

提问于
浏览
3

我对使用mongoose对Express REST API进行单元测试感到困惑 . 我听说过supertest,sinon,chai和mocha .

我想写测试:

1)测试API接口:

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

2)测试mongoose查询:

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

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

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

这是要走的路吗?每个案例的简单例子都会很好!

1 回答

  • 1

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

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

    您可以在sinon-mongoose repo上找到工作(和简单)示例 .

相关问题