Ma question est une variante de celui-ci .
Étant donné que mon projet d'application Web Java nécessite de nombreux filtres et requêtes en lecture et des interfaces avec des outils tels que GridFS, j'ai du mal à trouver une manière judicieuse d'utiliser MongoDB comme le suggère la solution ci-dessus.
J'envisage donc d'exécuter une instance intégrée de MongoDB parallèlement à mes tests d'intégration. J'aimerais qu'elle démarrer automatiquement (soit pour chaque test, soit pour la suite entière), purger la base de données pour chaque test, et fermer à la fin. Ces tests pourraient être exécutés sur des machines de développement ainsi que sur le serveur CI, donc ma solution devra également être portable .
Quelqu'un ayant plus de connaissances sur MongoDB peut-il m'aider à me faire une idée de la faisabilité de cette approche, et/ou peut-être me suggérer des lectures qui pourraient m'aider à démarrer ?
Je suis également ouvert aux autres suggestions que les gens pourraient avoir sur la façon dont je pourrais aborder ce problème...
0 votes
Si vous utilisez maven, vous pouvez utiliser le nôtre mvnrepository.com/artifact/com.wenzani/mongodb-maven-plugin
0 votes
Vous pouvez également consulter ce projet qui simule un MongoDB dans la mémoire de la JVM. github.com/thiloplanz/jmockmongo Mais il est toujours en cours de développement.
0 votes
Pas [seulement pour] les tests unitaires, mais lisez cet article de blog si vous souhaitez exécuter MongoDB (même un cluster) en tant que déploiement en mémoire si vous utilisez Linux. edgystuff.tumblr.com/post/49304254688 Ce serait formidable de l'avoir prêt à l'emploi comme RavenDB.
0 votes
Comme pour le plugin embedmongo-maven mentionné ici, il existe également un plugin Plugin Gradle Mongo disponible. Comme le plugin Maven, il englobe également la fonction api flapdoodle EmbeddedMongoDb et vous permet d'exécuter une instance gérée de Mongo à partir de vos constructions Gradle.
0 votes
Consultez cet exemple de code ici : github.com/familysyan/embedded-mongo-integ . Aucune installation, aucune dépendance. C'est simplement un ant script indépendant de la plateforme qui fait le téléchargement et la configuration pour vous. Il nettoie également tout après vos tests.