我有一个指向mysql数据库的应用程序。
我一直在尝试使用DBUnit来设置我的测试环境,这很好用。
问题是在配置DBUnit时我将其指向SAME mysql数据库。因此,当执行DBUnit时,它将获取指定的dataset.xml并覆盖原始数据库中的信息。这是有道理的,因为我指的是它。
问题是,我是否应该仅为测试创建一个新数据库,以便我的DBUnit可以指向它?如果是这样,我将如何管理原始数据库与测试之间的结构同步?
提前致谢。
答案 0 :(得分:1)
我应该只为测试创建一个新数据库,所以我的DBUnit可以指向它吗?
这是一种更好的方法,因为它可以消除多个问题。
我如何管理原始数据库与测试之间的结构同步?
你没有在持久性堆栈中提到技术,例如Hibernate,Spring / Spring Boot / Spring Data / Flyway / LiquiBase /等。建议更多如何实现这一点。通常,在测试运行启动时在模式中运行DDL(从来自Flyway的托管DDL或来自Hibernate的自动生成)。
此外,我首选的典型测试方法是: