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())