MySQL peut-il être utilisé en mémoire pour les tests JUnit ?
Dans le développement de logiciels, tester les interactions avec les bases de données est essentiel, mais cela peut nécessiter un configuration et gestion complètes de bases de données. Pour simplifier ce processus, certains développeurs utilisent des bases de données SQLite ou H2 pour les tests en mémoire. Cependant, existe-t-il une option pour utiliser MySQL lui-même dans ce contexte ?
Solution : MariaDB4j
La réponse réside dans MariaDB4j, une dépendance Gradle/Maven qui fournit une base de données MySQL en mémoire compatible pour les tests JUnit. Il nécessite une configuration minimale :
DB database = DB.newEmbeddedDB(3306); database.start(); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
Pour une initialisation supplémentaire, un script de démarrage peut être inclus :
database.source("path/to/resource.sql");
Considérations
Bien que MariaDB4j fournisse une solution MySQL intégrée, elle ne fonctionne pas uniquement en mémoire. Il crée des fichiers temporaires dans le dossier temporaire du système. Par conséquent, il ne s'agit pas d'une véritable solution en mémoire, et les tests qui en dépendent peuvent s'écarter de la définition traditionnelle des tests unitaires, qui dicte l'indépendance par rapport aux ressources externes.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3