2017-04-10 19 views
1

AssertJは、isEqualToIgnoringGivenFieldsおよびisEqualToComparingFieldByFieldRecursivelyを有する。assertJを使用して、指定フィールドを再帰的に無視する方法はありますか?

しかし、いくつかのフィールドを無視して2つのオブジェクトを再帰的に比較する方法はありません。 thisの議論のとおり、開発中でなければなりません。

私のアサートの戻り値を再帰的に比較するが、いくつかのフィールドを無視する方法。他の図書館でも可能ですか、どういうわけかAssertJを使ってもいいですか?

答えて

3

いくつかのフィールドを無視することができませんでしたが、無視したいフィールドのコンパレータを導入して一時的に解決し、常にそれらを真と評価しました。これは流暢ではありませんが、仕事を終わらせるための一時的な解決策です。

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

コンパレータが比較しようとしているフィールドがnullの場合、これは4月13日のようissue、2017年It doesn't workを持っています。これは、いずれかのオブジェクトがnullで、両方がnullでない場合に問題になります。

+1

3.8.0に更新され、正常に動作します。ありがとうございます! –

関連する問題