6

私の NUnit/FluentAssertions テストでは、次のコードを使用して、システムから返された複雑なオブジェクトを参照オブジェクトと比較します。

    response.ShouldBeEquivalentTo(reference, o => o.Excluding(x => x.OrderStatus)
                                               .Excluding(x => x.Id)
                                               .Excluding(x => x.Items[0].Name)
                                               .Excluding(x => x.Items[0].Article)
                                               .Excluding(x => x.ResponseStatus));

しかし、これはまさに私が意図したものではありません。0番目だけでなく、リスト内のすべてのオブジェクトを除外Nameしたいと思います。このシナリオを実装するにはどうすればよいですか?ArticleItems

私はドキュメントに目を通しましたが、解決策が見つかりません。何か不足していますか?

4

1 に答える 1

8

より高度な選択基準に使用できる ISubjectInfo を提供する Exclusive() のオーバーロードがあります。そのオーバーロードを使用すると、次のようなことができます。

subject.ShouldBeEquivalentTo(expected, config =>
                config.Excluding(ctx => ctx.PropertyPath == "Level.Level.Text"));
于 2013-03-12T18:54:47.970 に答える