beteiligt habe ich unten Unit-TestMocha Unit-Test Knex Transaktion
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();
});
Er druckt 2 Fehler 1) Uncaught AssertionError: voraussichtlich 1 gleich 2. Dies ist, was erwartet wird. 2) "nach jedem" Haken für ... Fehler: Timeout von 2000ms überschritten. Stellen Sie sicher, dass der Rückruf done() in diesem Test aufgerufen wird.
Wie verhindere ich eine zweite Fehlermeldung?
kann ich versuchen, setzen wie unten fangen um, aber ordentlich
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())