我正在通过mocha
运行多个环回测试(我们称之为test1.js
,test2.js
和test3.js
。)
当我独立运行时,一切运作良好。但是,当我要求mocha
全部运行它们时,内存数据库中第一次测试中创建的内容会与稍后进行的测试(测试2或3)发生碰撞。
有没有办法确保我们使用空数据库开始每项测试?类似的东西:
app.dataSources.db.reset()
非常感谢!
更新:我最终做了什么:我查看了DataSource代码,发现你可以在内存数据库上执行automigrate
。
before("wipe DB (if used with other tests)", function(done) {
app.dataSources.db.automigrate(function(err) {
done(err);
});
});
答案 0 :(得分:3)
通过db
抓住app.dataSources.db
并执行automigrate
,如下所示:
before("wipe DB (if used with other tests)", function(done) {
app.dataSources.db.automigrate(function(err) {
done(err);
});
});
干杯。
答案 1 :(得分:1)
通常你应该在每次测试后清理。
您可以使用hooks,例如afterEach