我有一些整合测试,可以从JPA实体创建HSQL数据库。除了自动增量ID之外,这一切都很有效。这些似乎存储在测试之间而不是重置。例如,如果我在测试1中添加两个项目,那么HSQL中这两行的id值是1和2.在我的设置中,我然后销毁数据库。在测试2中,我添加了一个项目,id为3而不是返回1.我使用Spring作为事务管理器并连接所有依赖项。有没有人知道是什么原因引起的?
我不想检查ID本身,但我觉得这很烦人。
提前致谢
答案 0 :(得分:1)
这是预期的。自动增量ID由数据库处理,因此,除非您删除表并在每次测试之前重新创建它们(您不应该这样做),ID将继续递增。
不要依赖测试中ID的绝对值。从设置测试用例时创建的实体中获取ID值。
答案 1 :(得分:0)
试试Unitils。此工具会删除数据库表并为每个测试用例自动重新创建它们。当然,您还可以选择其他选项。这些取自here,
你可能觉得这个工具很有用。