在集成测试中,对于保存数据到数据库的方法,我们需要验证是否数据被正确地保存到数据库中。
对于使用 Spring 的项目,可以使用 Spring Test DbUnit 和 DbUnit 进行测试。
然而,在数据对比的时候,自增的字段就成了一个障碍,因为自增字段是自动生成的,在测试的时候,我们无法确定下一个插入数据的自增字段的值。
尝试忽略自增 id
首先,我们考虑忽略自增 id,在 @ExpectedDatabase
注解中设置 assertionMode = DatabaseAssertionMode.NON_STRICT
,就会忽略数据集中没有显示声明的字段。但是每一行数据都必须拥有一致的字段。比如
<dataset>
<clazz name="clazz1"/>
<clazz name="clazz2"/>