Mocha提供before
,beforeEach
,after
和afterEach
。我正在寻找类似around
或aroundEach
的内容,但我在mocha文档中找不到任何关于它的内容。
我的用例是我想在数据库事务中包装每个测试,在每个测试运行后执行回滚。我想要做这样的事情:
aroundEach(function (testRunner, done) {
sequelize.transaction().next(function (t) {
testRunner();
t.rollback().done(done);
});
});
作为替代/解决方法,这样的东西作为选项存在(尽管感觉不太干净):
beforeEach(function (done) {
sequelize.transaction().next((t) => {
this.transaction = t;
done();
});
});
afterEach(function (done) {
this.transaction.rollback().done(done);
});