【发布时间】:2010-02-09 09:49:34
【问题描述】:
我将 DbUnit 与 Unitils 一起使用,这在大多数情况下都非常有效。
今天我发现了一个奇怪的问题。
情况是:
- 我使用 Hibernate,并使用“增量”生成器获得 id:
- 我准备测试数据集,其中最大 id 为 5。
- 我使用干净插入加载策略。
- 我有两个测试方法
test1和test2,每个都在这个表中添加一行。 -
test1方法后新添加的行id=6。 -
test2方法后新创建的行的 id=7。
这一切都很好,我明白为什么会这样。从维护的角度来看,这是一个问题。如果我在两者之间添加第三个测试方法,即使没有任何改变,方法 test2 也会突然失败,因为 row 会得到不同的 id。
我是否可以强制 DbUnit 或 Hibernate 在每个测试方法之前计算下一个 id 值?
【问题讨论】:
标签: java unit-testing hibernate junit dbunit