Mokka: Fehler Timeout 2000ms überschritten
Ich versuche, um ein Seeding für die Datenbank für unit-test.
Unten ist die seed.js
Datei:
.......
const app = require('./app')
const db = app.get('db')
const saveUsersToDB = (done) => {
db.User.bulkCreate(users)
.then(() => (done))
}
module.exports = {saveUsersToDB};
Meine app.test.js
Datei:
.......
const expect = require('expect')
const request = require('supertest')
const {saveUsersToDB} = require('./seed/seed');
before(saveUsersToDB)
Wenn ich den test ausführen, unten ist die Fehlermeldung die ich bekomme:
Express listening on port 3000!
1) "before all" hook: saveUsersToDB
0 passing (2s)
1 failing
1) "before all" hook: saveUsersToDB:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
npm ERR! Test failed. See above for more details.
Dachte ich, Rücksendung .then(() => (done))
genug war? Was mache ich falsch?
es sollte
Mocha unterstützt auch verspricht, also mit der Skillung kann nur wieder ein Versprechen.
.then(() => done())
.Mocha unterstützt auch verspricht, also mit der Skillung kann nur wieder ein Versprechen.
InformationsquelleAutor user1107173 | 2016-12-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil
(done)
tatsächlich Rückkehr der Funktion anstelle des Aufrufs. Umdone
, müssen Sie schreiben es auf diese Weise.Aber ich weiß nicht empfehlen die Verwendung von
done
zusammen mit dem Versprechen. Sie einfach nur brauchen, um wieder das Versprechen dannmocha
übernimmt das automatisch..then(done)
InformationsquelleAutor Lewis
Standardmäßig mocha tests haben einen 2-Sekunden-timeout (was bedeutet, dass der test abgeschlossen sein muss in 2 Sekunden).
Können Sie erhöhen (in miliiseconds) wie folgt:
https://mochajs.org/#timeouts
Dieser arbeitete für mich , vielen Dank
InformationsquelleAutor Kalman
Hatte ich die gleiche Ausgabe. Dieser Fehler promps, weil die 2 Sekunden timeout, also wenn dein test-Verbindung ddbb es wird die meisten nachweislich surpas.
Was ich Tat, war, zu trennen, alle meine tests, die benötigt somme Art von Verbindung zu externen Ressourcen, die in meinem integration tests-Ordner und dann kommt die nächste Flagge in meinem
package.json
test-Skript:Folgen Sie diesem link für weitere Möglichkeiten zur Erhöhung des timeout: Mokka-Zeitüberschreitung
InformationsquelleAutor sendra