我有两个独立的 JUnit 测试,它们使用 IDatabaseTester加载架构,然后加载 XML 中的数据。
单独运行时,一切顺利。但是,当连续运行时,第二个 JUnit 测试失败,因为“表名称已存在”。
我已经跟踪到 HSQLDB 数据库被尝试加载两次这一事实。当然第二次就失败了。
我查看了IDatabaseTester定义,虽然有设置数据库的方法,但我找不到“取消设置”它的方法。
正确的卸载方法是什么?
最佳答案
回答自己的问题,以防对其他人有帮助:
import org.apache.ddlutils.Platform;
import java.sql.Connection;
import org.apache.ddlutils.model.Database;
Platform platform = PlatformFactory.createNewPlatformInstance(HSQLDB_JDBC_DRIVER, HSQLDB_JDBC_URL);
Database database = jdbcModelReader.getDatabase(hsqldbConnection, null);
platform.dropTables(database, true);
关于java - 撤消 IDatabaseTester setDataSet(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50086328/