我对使用mongoose测试Express REST API感到困惑。
我听说过supertest、sinon、chai和mocha等工具。
我希望编写以下测试:
1)测试API接口:
创建一个supertest服务器并在其上进行请求(例如GET /users,POST /users),检查是否调用了正确的路由。
2)测试mongoose查询:
当调用路由时,我想检查是否调用了正确的mongoose函数(find、findById)并且返回了正确的数据(假数据),类似于:
当调用User.findId时,返回假用户(在beforeEach中定义的数据)。 这是sinon stubs的用途吗?
3)集成测试:
创建一个测试数据库(在测试运行期间创建),填充它并在测试完成时清理它。 在supertest服务器上进行API调用(GET users,PUT users/1202082,DELETE users/1202082...),检查是否读取、创建、更新、删除了正确的数据...
这是正确的方法吗? 每种情况的简单示例会很好!
我希望编写以下测试:
1)测试API接口:
创建一个supertest服务器并在其上进行请求(例如GET /users,POST /users),检查是否调用了正确的路由。
2)测试mongoose查询:
当调用路由时,我想检查是否调用了正确的mongoose函数(find、findById)并且返回了正确的数据(假数据),类似于:
当调用User.findId时,返回假用户(在beforeEach中定义的数据)。 这是sinon stubs的用途吗?
3)集成测试:
创建一个测试数据库(在测试运行期间创建),填充它并在测试完成时清理它。 在supertest服务器上进行API调用(GET users,PUT users/1202082,DELETE users/1202082...),检查是否读取、创建、更新、删除了正确的数据...
这是正确的方法吗? 每种情况的简单示例会很好!