Moka: Erreur de Délai d'attente de 2000ms dépassé
Je suis en train de semences de la base de données de l'unité de test.
Ci-dessous est la seed.js
fichier:
.......
const app = require('./app')
const db = app.get('db')
const saveUsersToDB = (done) => {
db.User.bulkCreate(users)
.then(() => (done))
}
module.exports = {saveUsersToDB};
Mon app.test.js
fichier:
.......
const expect = require('expect')
const request = require('supertest')
const {saveUsersToDB} = require('./seed/seed');
before(saveUsersToDB)
Quand je lance le test ci-dessous est l'erreur que je reçois:
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.
Je pensais que le retour .then(() => (done))
était assez? Ce que je fais mal?
il devrait être
Moka prend également en charge des promesses, de sorte que le spec pouvez simplement retourner une promesse.
.then(() => done())
.Moka prend également en charge des promesses, de sorte que le spec pouvez simplement retourner une promesse.
OriginalL'auteur user1107173 | 2016-12-01
Vous devez vous connecter pour publier un commentaire.
Parce que
(done)
sera effectivement de retour de la fonction au lieu de l'invoquer. Afin d'appelerdone
, vous devez l'écrire de cette façon.Cependant, je ne recommande pas l'utilisation
done
le long avec des promesses. Vous avez simplement besoin de retourner la promesse puismocha
vont gérer cela automatiquement..then(done)
OriginalL'auteur Lewis
Par défaut, moka, des tests ont un délai d'attente de 2 secondes (ce qui signifie que le test doit être rempli en 2 secondes).
Vous pouvez augmenter (en miliiseconds) comme suit:
https://mochajs.org/#timeouts
Cela a fonctionné pour moi , Merci beaucoup
OriginalL'auteur Kalman
J'ai eu le même problème. Cette erreur promps car les 2 secondes, donc si votre test doit se connecter à ddbb il sera très sensiblement surpas.
Ce que j'ai fait était de séparer tous mes essais que nécessaire de la somme, le type de connexion à des ressources externes dans mes tests d'intégration sur dossier, puis ajouté le drapeau prochaine dans mon
package.json
script de test:Suivez ce lien pour d'autres façons d'augmenter le délai d'attente: moka timout
OriginalL'auteur sendra