9
私は、リスト内のオブジェクトの順序を無視して、オブジェクトのリストを比較したいとオブジェクトのみのプロパティのいくつかを比較し、現在私は、この比較を実行するには、次のコードを使用しています:流暢なアサーションを使ってリストを比較するには?
actual.Should().NotBeNull();
actual.Count.Should().Be(expected.Count);
//compare ignoring order
foreach (var exp in expected)
actual.Should().Contain(act =>
act.IndividualId.Equals(exp.IndividualId)
&& act.Email.Equals(exp.Email)
&& act.FirstName.Equals(exp.FirstName)
&& act.LastName.Equals(exp.LastName)
);
しかし、これは理想的ではないようです。失敗したときに期待される値からプリントアウトしない場合があります。流暢なアサーションを使ってこの比較を実行するためのメカニズムが組み込まれていますか?
2つ比較してもいいですか?リストは実際に使用してください。 –
BraveNewMath
はい、actual.Should()を実行できます。BeEquivalentTo(expected); –
私たちは通常、各オブジェクトをjsonにシリアル化してから文字列比較を使用します。エラー出力はうまく見えます。誰かが新しいプロパティを追加した場合、単体テストを更新する必要はありません –