Erreur dans l'execution des test

Erreur dans l'execution des test

by Thomas Malidin Delabriere -
Number of replies: 2
Bonjour, 

Nous avons un soucis avec l'execution de la commande "npm test". En fonction des essais, elle ne renvoi pas les mêmes résultats et ne passe pas tous les tests. Nous avons notamment un cas où ils n'affichent pas les tests du service mongo et passe correctement 69 tests et un autre cas ou il en passe 90...

Nous ne comprenons pas d'ou cela peut venir. 

Cordialement, 
In reply to Thomas Malidin Delabriere

Re: Erreur dans l'execution des test

by Maxime Fuchs -
(binôme de Thomas)
D'après ce que j'ai pu trouver dans l'execution des tests, le problèmes vient du fait qu'il n'entre pas dans les fonctions it() pour tous les fichiers de tests avec mongo (news-mongo, projects-mongo etc..).
Pourtant, les mêmes fonctions (provenant de mocha et shai) sont utilisées dans les autres tests et fonctionnent parfaitement.
La connexion est à chaque fois bien faite avec mongo, rentre dans la fonction mocha.describe mais ne rentre pas dans la fonction mocha.it pour je ne sais quelle raison.
Un autre problème également, mais moins important, est que le programme de test ne s'arrête pas à la fin des tests. Il est nécessaire de faire un ctrl+C à chaque fois pour arrêter l'exécution.
In reply to Maxime Fuchs

Re: Erreur dans l'execution des test

by Samuel Schwab -
Pour s'assurer de l'execution des tests de mongo (par exemple npm run test-mongo), il faut modifier le code des fichiers tests/services/*-mongo.spec.js pour dire a mocha qu'il faut attendre que la connexion a mongo soit faite :

//inclure before
const before = mocha.before

//entourer la connexion a mongo d'un appel a before() **NE PAS OUBLIER L'APPEL À done()**
before((done) => {
MongoClient.connect(config.dbUrl, { useNewUrlParser: true }, (err, client) => {
if (err) {
throw err
}
db = client.db(config.dbName)
executeTestsOnDb(db)
done()
})
})

Je sais que l'énoncé dit de ne pas modifier les tests, mais ca fonctionne en faisant ca