在使用JPA2和EclipseLink编写数据库应用程序的测试时,我遇到了一个问题:
我向数据库中添加了一些实体,稍后检索它并想将其与具有我期望的值的实例进行比较,以确认添加按照我的意图进行了。
起初,我编写了以下代码:
assertEquals(expResult, dbResult);
我的测试失败了,因为我无法确定由数据库生成的id
字段的值,所以dbResult
与我手动创建并填充的expResult
不同。
我看到两种选择:
要么我从
equals
和hashCode
方法中删除id
字段,仅基于“真实值”进行比较。但我不知道这会不会在数据库或其他地方引起问题。要么我编写测试来手动检查除
id
之外的每个字段。
我该怎么做?