1 回答
TA贡献1770条经验 获得超3个赞
这是我所做的:
在 beforeEach 中完全删除数据库。您可以通过 mongoose 连接访问 mongodb 实例,例如:db.db.dropDatabase()
为我的域创建预配置的数据对象并将它们保存在我导入的模块中 - 简单的 JavaScript 对象。所以我有像 data.users.vader 和 data.users.luke、data.products.deathStar 等数据
在我的测试中,我使用chaihttp来访问包含以下数据的路由:
let user = data.users.vader;
chai.request(server)
.post('/users')
.send(user)
.end((err, result) => {
if (err) {
return callback(err);
}
result.should.have.status(200);
result.body.status.should.eq(enums.status.success);
result.body.data._id.should.be.a('string');
result.body.data.name.should.eq(user.name);
result.body.data.email.should.eq(user.email);
每个单元测试都会删除数据库并创建所需的数据。我是这样开始的,这样每个测试都是独立的。
您也可以batchWriteItem稍后使用 mongodb 批量加载数据。
我还创建了可以在单元测试中调用的函数,这些函数将使用批量加载数据batchWriteItem- 这主要用于性能测试查询等
添加回答
举报