Ich versuche, einen Komponententest zum Einfügen (und dann Abrufen) eines Dokuments in mongodb zu schreiben. Allerdings bekomme ich einen Timeout-Fehler, und es schlägt vor, dass done
nie aufgerufen wird. (Mongod läuft, und ich kann die Objekte sehen ganz gut als abgerufen und eingesetzt wird, console.log verwenden.)Wie schreibe ich einen Komponententest zum Einfügen und Abrufen eines Objekts zu mongodb mit Mungo, Mocha und Chai?
Was ich verwende:
Node.js, ES6, Mongoose, Mokka, Chai
CheckbookEntry ist eine seltsame Wrapper für einige Mongoose Anrufe, die das lassen Sie mich mit dem Versprechen arbeiten.
describe('create and getOneById',() => {
it('creates a new checkbookEntry, and retrieves it from the db', (done) => {
var EXAMPLE_ENTRY = {
type: 'debit',
date: Date(),
description: 'Example of a cb entry',
account: 'PNC',
amount: 239.33
};
CheckbookEntry.create(EXAMPLE_ENTRY.type,
EXAMPLE_ENTRY.date,
EXAMPLE_ENTRY.description,
EXAMPLE_ENTRY.account,
EXAMPLE_ENTRY.amount)
.then(function(createdEntry){
return CheckbookEntry.getOneById(createdEntry._id);
})
.then(function(foundEntry){
expect(foundEntry).to.eql(EXAMPLE_ENTRY);
done();
}, function(err){
assert.fail(err);
done();
});
}).timeout(5000);
}); // end describe create
Irgendwelche Vorschläge, wie man das funktioniert?