2017-04-10 99 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,它工作正常,謝謝! –