MySQL 可以在内存中用于 JUnit 测试吗?
在软件开发中,测试数据库交互是必不可少的,但它可能需要成熟的数据库设置和管理。为了简化此过程,一些开发人员使用 SQLite 或 H2 数据库进行内存测试。但是,在这种情况下是否可以选择使用 MySQL 本身?
解决方案:MariaDB4j
答案在于 MariaDB4j,它是一个 Gradle/Maven 依赖项,提供了完整的用于 JUnit 测试的兼容内存 MySQL 数据库。它需要最少的设置:
DB database = DB.newEmbeddedDB(3306); database.start(); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");
对于额外的初始化,可以包含启动脚本:
database.source("path/to/resource.sql");
注意事项
虽然 MariaDB4j 提供嵌入式 MySQL 解决方案,它并不纯粹在内存中运行。它在系统的临时文件夹中创建临时文件。因此,它不是真正的内存解决方案,依赖它的测试可能会偏离传统的单元测试定义,传统的单元测试定义要求独立于外部资源。
以上是MariaDB4j 是使用 JUnit 进行内存中 MySQL 测试的解决方案吗?的详细内容。更多信息请关注PHP中文网其他相关文章!