Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Existe uma maneira de executar o MySQL na memória para casos de teste JUnit?


A maneira mais fácil de usar um banco de dados em memória que é totalmente compatível com MySQL e pode ser usado em casos de teste JUnit é imho MariaDB4j.você só precisa de uma dependência Gradle (/Maven) (http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22mariaDB4j%22 ) e algumas linhas de código para iniciar:
DB database = DB.newEmbeddedDB(3306);
database.start();
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");

um script de inicialização pode ser incluído via
database.source("path/to/resource.sql");

Mais informações sobre o leia-me do GitHub:https://github.com/vorburger/MariaDB4j

EDIT:Eu tenho algumas dicas para esta resposta:O MariaDB4j parece adicionar arquivos na pasta temporária do sistema. Portanto, ele funcionará de maneira incorporada, o que significa que não há necessidade de instalar nada e você pode simplesmente usar a dependência por meio da ferramenta de compilação desejada. Mas não é uma verdadeira solução apenas na memória e, portanto, não podemos mais falar de testes de unidade porque os testes de unidade não devem depender de arquivos ou bancos de dados