我正在为我的 DAO 服务编写集成测试。我通过使用 dao 插入方法然后从数据库中读取对象并使用原始对象断言所有字段来执行此操作。
我想使用 assertj-core 进行断言。特别是isEqualToComparingFieldByField。
但是 java.util.Date 字段存在问题。它们返回相同的 getTime() 值但不相等。
目前我在 isEqualToComparingFieldByField 断言中忽略这些字段,然后与 hasSameTimeAs 方法比较。
assertThat(object).isEqualToIgnoringGivenFields(other, "time");
assertThat(object.getTime()).hasSameTimeAs(other.getTime());
是否有任何方法可以为给定类型(在本例中为 java.util.Date)提供自定义比较器到 isEqualToComparingFieldByField 方法或任何其他解决方案来逐字段断言两个对象以避免此问题?