J'ai une application de noeud avec l'accès à mongodb lancé mongoose testé avec moka et mockgoose. J'ai déménagé récemment à mockgoose 7.0.5. J'ai suivi la mise en route sur github et j'ai augmenté mon timeout de moka à 2 minutes.Mockgoose télécharge 234mb lors de l'exécution mockgoose.prepareStorage
Voici mes fonctions avant dans mes tests:
import mongoose from 'mongoose';
var Mockgoose = require('mockgoose').Mockgoose;
[...]
const mockgoose = new Mockgoose(mongoose);
before(function(done) {
try {
console.log('BEFORE prepareStorage');
mockgoose.prepareStorage().then(() => {
console.log('IN prepareStorage');
mongoose.connect('mongodb://example.com/TestingDB', function(err) {
done(err);
});
}).catch((error) => {
done(error);
});
} catch(e) {
done(e);
}
console.log('AFTER prepareStorage');
});
beforeEach(function(done) {
mockgoose.helper.reset();
done();
});
Quand je lance les essais, au cours de l'étape mockgoose.prepareStorage
, mockgoose semble être le téléchargement de quelque chose.
BEFORE prepareStorage
AFTER prepareStorage
Completed: 0.1 % (0.2mb/234.3mb
Je suppose que cela a quelque chose à voir avec le délai d'attente de 2 minutes demandé.
Mes questions/problèmes sont:
Quelqu'un sait-il ce que mockgoose télécharge? (Je ne me souviens pas de ce comportement avec les versions précédentes de mockgoose)
Est-ce que mockgoose a besoin de ce téléchargement à chaque exécution (test de npm) ou le résultat sera-t-il réutilisé dans les prochaines exécutions (test de npm)? Puis-je l'empêcher de télécharger quelque chose?
Idéalement, je voudrais lancer mon test d'unité dans un bac à sable env, sans accès au web (dans un docker). Puis-je télécharger le 234mb quelque part et demander à mockgoose de le réutiliser?
Merci
Bonjour, merci pour votre réponse. Ce comportement provient de l'utilisation de mongodb-download dans mongodb-prebuild. Vous avez raison sur le fait que je peux le télécharger avec un premier test de npm sur mon poste de développement. Le problème est que, je voudrais exécuter mes tests unitaires en intégration continue sans accès au web. Je vais essayer de jouer avec mongodb-download pour le pré-télécharger. Je vous tiendrai au courant –