0
votes

Comment configurer MongoDB en mémoire?

Je travaille avec des tests d'intégration pour mon NODEJS-TypeScript Application à l'aide d'une base de données MongoDB . J'utilise Jest comme cadre de test. Comment remplacer la configuration de DB réelle avec la base de données en mémoire (MongoDB) que je peux utiliser pour les tests. Quelqu'un peut-il m'aider avec la configuration?

config.ts xxx


1 commentaires

Ne pas vandaliser vos messages. En publiant sur ce site, vous avez irrévocablement accordé au réseau de la pile Exchange le droit de distribuer ce contenu sous le CC BY-SA 4.0 LICENCE Pour tant que cela voit de le faire. Pour les alternatives à Supprimer, voir: J'ai pensé mieux de ma question; Puis-je le supprimer?


3 Réponses :


0
votes

Vous pouvez configurer une réelle base de données de test avant d'exécuter les tests et simplement le laisser tomber après avoir exécuté les tests. Dans cet exemple (en utilisant mongoose code>), la base de données est nettoyée avant même d'exécuter les tests (au cas où quelque chose s'est mal passé avec la dernière exécution)

mongoose.connect('mongodb://localhost/testing_db')


const db = mongoose.connection

db.on('error', err => {
        console.error(err.toString())
        done(err)
      })
db.once('open', () => {
        db.db.dropDatabase(() => {
          done()
        })
      })


0 commentaires

0
votes

J'ai commencé à utiliser @ SHEFFIO / JEST-MONGODB et jusqu'à présent, ça marche bien.

La documentation de leur site est excellente et le repo a des exemples décents.

C'est aussi la bibliothèque recommandée par Jest sur leur site - Utiliser avec MongoDB donc je Je suggère de commencer à regarder cela si vous ne l'avez pas déjà fait.


2 commentaires

Oui, j'ai référé ça. Dans mon cas, je dois connecter le test de test de test pour des tests d'intégration. J'ai donc besoin de configurer une configuration en mémoire dans CONFIG.TS afin que je puisse éviter BeforeAll et après les blocs de test dans tous les fichiers de test.


Ah tu as. Non essayé une mémoire pleine en mémoire pour ce cas d'utilisation, mais avez-vous envisagé de filtrer un conteneur Docker MongoDB, puis de passer à vos tests contre ce cas? Travaillerait exactement la même chose et empêcherait la nécessité supplémentaire d'une démolition comme il serait détruit quand même?



0
votes

Après avoir travaillé pendant quelques heures. J'ai configuré le configuration qui fonctionne bien pour moi. XXX


0 commentaires