De gemakkelijkste manier om een in-memory database te gebruiken die volledig compatibel is met MySQL en kan worden gebruikt in JUnit-testcases, is imho MariaDB4j. Je hebt alleen een Gradle (/Maven)-afhankelijkheid nodig (http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22mariaDB4j%22 ) en een paar regels code om te beginnen:
DB database = DB.newEmbeddedDB(3306);
database.start();
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
een opstartscript kan worden opgenomen via
database.source("path/to/resource.sql");
Meer informatie over GitHub readme:https://github.com/vorburger/MariaDB4j
EDIT:Ik heb een aantal hints toegevoegd aan dit antwoord:de MariaDB4j lijkt bestanden toe te voegen in de tijdelijke systeemmap. Het zal dus op een ingebedde manier werken, wat betekent dat er niets hoeft te worden geïnstalleerd en dat u de afhankelijkheid gewoon kunt gebruiken via uw gewenste build-tool. Maar het is geen echte in-memory-only oplossing en daarom kunnen we niet meer spreken van unit-tests omdat unit-tests niet mogen vertrouwen op bestanden of databases