【发布时间】:2016-04-14 03:36:57
【问题描述】:
我正在使用 H2 内存数据库进行单元测试与数据库的交互。
我需要清除 @After 中已提交的更改,以便表格保留但所有行都被擦除(因此我不能只删除表格)。我的数据库也有很多外键,这使得我必须按照一定的顺序一个一个地擦除对象。
有没有什么方法可以在不删除表的情况下清理数据库中的行,最好不逐个删除对象?
【问题讨论】:
-
将truncate 和临时disabling referential integrity 组合起来可以解决问题吗?
-
@Avandeursen 哦,是的,谢谢!而且我认为我也可以批量截断表格。我需要的是禁用参照完整性。
-
另一种选择可能是将@DirtiesContext 与“每次测试后”一起使用
-
很高兴它有效@AlexandraCohen。我已经把我的评论变成了一个真正的答案:如果它对你有用,请随时接受。
标签: sql unit-testing junit h2 h2db