Note du traducteur
C'est la traduction du fichier isolated-mongodb-integration-tests.md. Voici un lien vers les différences avec le master de AVA (Si en cliquant sur le lien, vous ne trouvez pas le fichier isolated-mongodb-integration-tests.md
parmi les fichiers modifiés, vous pouvez donc en déduire que la traduction est à jour).
Traductions : English
Comment exécuter les bases de données MongoDB à usage unique dans vos tests AVA avec une isolation pour chaque test. Pour cela, on utilise mongomem
qui est disponible sur npm.
Pour cela, on utilise MongoMem
qui vous permet de gérer rapidement un serveur temporaire MongoDB localement. Il utilise temporairement un stockage de fichiers qui sera détruit lorsque le serveur s'arrêtera.
A la racine de votre application, exécutez :
$ npm install --save-dev mongomem
Dans votre fichier de test, importez le module et exécuter le serveur.
Assurez-vous d'exécuter le serveur au début de votre fichier et en dehors des cas de test.
import test from 'ava';
import {MongoDBServer} from 'mongomem';
test.before('start server', async t => {
await MongoDBServer.start();
})
test('some feature', async t => {
const connectionString = await MongoDBServer.getConnectionString();
// connectionString === 'mongodb://localhost:27017/3411fd12-b5d6-4860-854c-5bbdb011cb93'
// utilisez `connectionString` pour se connecter à la base de données avec un client de votre choix. Regardez ci-dessous pour une utilisation avec Mongoose.
});
Après avoir exécuté vos tests, vous devez inclure une méthode test.after.always
pour nettoyer le serveur MongoDB. Cela supprimera tous les fichiers temporaires utilisés par le serveur lors de l'exécution.
Ceci est normalement nettoyé par votre système d'exploitation, mais il est recommandé de le faire manuellement.
test.after.always('cleanup', t => {
MongoDBServer.tearDown(); // Nettoie les fichiers temporaires de stockage
});
Si le serveur ne semble pas démarrer, vous pouvez définir l'option MongoDBServer.debug = true;
avant d'appeler MongoDBServer.start()
. Cela permettra au serveur MongoDB d'afficher des erreurs de connexion ou d'autorisation de fichier lors de son démarrage. Comme il vérifie et choisit un port disponible pour exécuter le serveur, les erreurs sont donc susceptibles d'être liées aux autorisations de fichier.
Mongoose est un robuste Object-Document-Mapper (ODM) pour MongoDB. Reportez-vous à sa documentation pour débuter avec Mongoose.
Pour utiliser efficacement Mongoose avec AVA, consultez les documents d'intégration Mongoose.