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));

然而,这并不是我想要的。我想排除列表NameArticle每个对象,Items而不仅仅是第 0 个对象。我如何实现这个场景?

我浏览了文档并没有找到解决方案。我错过了什么吗?

4

1 回答 1

8

有一个 Excluding() 的重载,它提供了一个 ISubjectInfo,您可以将其用于更高级的选择标准。有了这个重载,您可以执行以下操作:

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