如何使用 assertJ 比较递归忽略给定字段?
2022-09-01 05:38:35
AssertJ
有 和 。isEqualToIgnoringGivenFields
isEqualToComparingFieldByFieldRecursively
但是,我无法通过忽略某些字段来递归地比较两个对象。根据此讨论,它必须处于开发中。
如何仍然以递归方式比较我的断言的返回值,但忽略某些字段。是否可以在任何其他库中使用?或者我可以使用?AssertJ
AssertJ
有 和 。isEqualToIgnoringGivenFields
isEqualToComparingFieldByFieldRecursively
但是,我无法通过忽略某些字段来递归地比较两个对象。根据此讨论,它必须处于开发中。
如何仍然以递归方式比较我的断言的返回值,但忽略某些字段。是否可以在任何其他库中使用?或者我可以使用?AssertJ
借助 AssertJ 3.12.0 版中最新的“递归比较 API 改进”,现在可以执行递归比较并忽略字段:
Assertions.assertThat(objActual)
.usingRecursiveComparison()
.ignoringFields("uniqueId", "otherId")
.ignoringFieldsMatchingRegexes(".*someId")
.ignoringOverriddenEqualsForTypes(MyData.class, MyDataItem.class)
.isEqualTo(objExpected);