O MySQL pode ser usado na memória para testes JUnit?
No desenvolvimento de software, testar as interações do banco de dados é essencial, mas pode exigir um configuração e gerenciamento completos do banco de dados. Para simplificar esse processo, alguns desenvolvedores empregam bancos de dados SQLite ou H2 para testes na memória. No entanto, existe uma opção para usar o próprio MySQL neste contexto?
Solução: MariaDB4j
A resposta está em MariaDB4j, uma dependência Gradle/Maven que fornece uma banco de dados MySQL na memória compatível para testes JUnit. Requer configuração mínima:
DB database = DB.newEmbeddedDB(3306); database.start(); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
Para inicialização adicional, um script de inicialização pode ser incluído:
database.source("path/to/resource.sql");
Considerações
Enquanto MariaDB4j fornece um MySQL incorporado solução, ele não opera puramente na memória. Cria arquivos temporários na pasta temporária do sistema. Como resultado, não é uma verdadeira solução in-memory, e os testes que dependem dela podem se desviar da definição tradicional de teste de unidade, que determina a independência de recursos externos.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3