为 Junit 测试克隆现有数据库的最佳方法?
Posted
技术标签:
【中文标题】为 Junit 测试克隆现有数据库的最佳方法?【英文标题】:Best way to clone existing DB for Junit tests? 【发布时间】:2013-07-12 21:00:02 【问题描述】:我必须以某种方式从现有数据库中克隆表才能运行单元测试。理想的解决方案是——一个 Maven 插件或 Spring bean——将数据库表克隆到一个 HSQL 数据库中,然后我可以用我的 JUnit 测试来命中它。
最直接的方法是什么?
【问题讨论】:
你可以使用Flyway 【参考方案1】:下载 DBUnit。 http://dbunit.sourceforge.net/
将数据集从现有数据库导出到 XML。
在您的套件中,将数据集导入 HSQL。
如果您打算对行为与其持久层紧密耦合的应用程序(例如任何用 ORM 编写的东西)进行单元测试,那么您将需要了解 DBUnit。
【讨论】:
我已经让 DBUnit 工作了(有点),但我们数据库中的所有内容都以 CDATA 数据类型返回 - 不太适合测试。我很抱歉超出了原始问题的范围,但是您知道如何解决这个问题吗?我正在从 AS400/DB2 数据库中读取表格。 (驱动程序 com.ibm.as400.access.AS400JDBCDriver)。以上是关于为 Junit 测试克隆现有数据库的最佳方法?的主要内容,如果未能解决你的问题,请参考以下文章
在 Maven/Junit/DBUnit 项目的集成测试之前/之后创建/删除数据库的最佳方法?