【发布时间】:2015-06-02 19:07:16
【问题描述】:
我对使用 mongoose 对 Express REST API 进行单元测试感到很困惑。 我听说过 supertest、sinon、chai 和 mocha。
我想写测试到:
1) 测试API接口:
创建一个超级测试服务器并在其上发出请求(例如 GET /users、POST /users)并检查它是否调用了正确的路由。
2) 测试猫鼬查询:
当调用路由时,我想检查是否调用了正确的 mongoose 函数(find、findById)以及它是否返回了正确的数据(假数据),例如:
当调用 User.findId 时,返回假用户(在 beforeEach 中定义的数据)。 这是 sinon 存根的用途吗?
3) 集成测试: 创建一个测试数据库(在测试运行时创建),填充它并在测试完成时清理它。 在超测服务器上进行 API 调用(GET 用户、PUT 用户/1202082、DELETE 用户/1202082...),并检查是否读取、创建、更新、删除了正确的数据...
这是要走的路吗? 每个案例的简单示例会非常好!
【问题讨论】:
标签: node.js mongodb rest unit-testing express