java - 撤消 IDatabaseTester setDataSet()

标签 java junit hsqldb

我有两个独立的 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/

相关文章:

java - Spring Data neo4j - Id 生成策略

java - 如何将不适合自动适合 libgdx 标签中的下一行的单词移动?

java - 为什么代码覆盖率有时会计算方法名称或右括号?

mysql - 使用 MYSQL DB,使用 HSQLDB 进行单元测试 = 问题

java - 多态列表和关系数据库

java - 相对文件路径的问题

java - 为什么刷新实体管理器时数据库没有更新?

junit - 作为 IntelliJ IDEA JUnit 运行配置运行 playframework 测试

java - JUnit并发访问synchronizedSet

java - HQL,我可以参数化 FROM 子句吗?