0
我有下面的单元测试摩卡单元测试涉及knex交易
knex.transaction(function(trx) {
wrapperobj.insertData(trx, (err, res) => {
if (err) {
return done(err);
}
expect(result.rowCount).to.be.equal(2); //fails, rowcount is 1
trx.rollback(new Error('rollback'));
})
})
.asCallback((err, result) = > {
expect(err).to.match(/rollback/);
done();
});
它打印2次失败 1)未捕获的AssertionError:预计到1等于2。这是所预期。 2)“每个钩子之后......”错误:超过2000ms的超时。确保在此测试中正在调用done()回调。
如何防止第二次失败信息。
我可以把尝试赶上周围像下面,但does not看起来整洁
knex.transaction(function(trx) {
wrapperobj.insertData(trx, (err, res) => {
try {
expect(err).to.be.null;
expect(result).not.to.be.empty;
expect(result.rowCount).to.be.equal(2);
}
catch(err1) {
done(err1);
}
trx.rollback(new Error('rollback'));
})
.asCallback((err, result) => done())