したときのメッセージが以下のように役立たずなメッセージになる、というデメリットが存在します。クラスを継承実装するという手があります。等価比較だけでなく、値の大小比較などのきめ細かいアサーションが可能になる。メッセージからの不具合の原因追求が容易になる。まわりの記述がすっきり・シンプルになる。いうメリットを得ることができます。実装コストがかかる、というデメリットもあります)。羅列などで対処する、というアプローチもとれることでしょう。実装では、以下の工夫を盛り込みつつ、等価比較の汎用化を実現しています。種類ごとに等価比較の戦略を分けています。配列であれば、単純に保有しているオブジェクトに対して等価比較をするようにします。フィールドの参照」を試すようにしています。呼び出すようにします。メソッド経由で値を読み出すようにしています。要求するクラスがまさにそのようなフィールド構成ですね)。利用して、プロパティの場合と同じようにその内部の値を取得・参照するようにしています。テスト実行した日時の情報など、不定な値がオブジェクトに含まれる場合は、その値を無視して等価比較したくなるものです。的な記法で等価比較したくない要素を指定できるようにしています。したのか?」ができる限り把握できるメッセージを出力することがあります。的な表現で、「オブジェクトのどこがおかしいのか?」が把握可能なメッセージ出力ができます。実装されていることは結構あるので、文字列比較で済ませている。割り切ってテストはしない。回答をいただきました。