2017-04-10 98 views
1

AssertJisEqualToIgnoringGivenFieldsisEqualToComparingFieldByFieldRecursively如何使用assertJ递归地忽略给定字段?

但是,我无法通过忽略某些字段递归地比较两个对象。根据this的讨论,它必须在开发中。

如何仍然得到我的断言的返回值递归比较,但忽略一些领域。是否可以在任何其他图书馆使用,或者我可以以某种方式使用AssertJ

回答

3

我无法让它忽略一些字段,但我设法暂时解决它通过引入比较器的字段,我想忽略并始终评估它们为true。这不是流利的,而是完成工作的临时解决方案。

assertThat(object).usingComparatorForFields((x,y)->0,"field1","field2").isEqualToComparingFieldByFieldRecursively(expectedObject); 

这有一个issue为4月13日,2017年It doesn't work时比较试图比较字段为空。如果两个对象都是null,则其中一个对象为null时,会出现此问题。

+1

我更新到3.8.0,它工作正常,谢谢! –