タイプが異なり(タイプ階層内に共通のスーパークラスを持たない)2つの複雑なオブジェクトを比較する必要がありますが、論理的には同等である可能性があります。 問題は、オブジェクトが等しくない場合の比較結果に関する情報を返す方法です。私は呼び出し元に、なぜオブジェクトが等しくないのか(どのフィールドが違うのか、どう違うのか)を伝えたいと思います。2つの複雑なオブジェクトを比較するときの比較の違いを返す方法は?
オプションは、これまでです:文字列
を投げるが、私は良い/彼らは非常にエレガント見つからない
- リターン。
また、フィールド比較をJUnitからのassertEqualsに委譲する方法があるので、比較テストを行わずにJUnitを比較して、実際の単体テストにすることはできますか?
そして、そのようなクラスの概略的な構造は何ですか? – m3th0dman
私はちょうど同じを投稿していた:+1 @ m3th0dman:それはあなたが比較する2つのオブジェクトの違いに依存します - すべての可能な違いのためのフィールド、私は提案するかもしれません。 – javatutorial