gpt4 book ai didi

c# - 使用 ShouldBeEquivalentTo 时如何排除 IEnumerable 中所有项目的属性?

转载 作者:太空狗 更新时间:2023-10-29 22:52:20 26 4
gpt4 key购买 nike

在我的 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));

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

我已经查看了 documentation并没有找到解决方案。我错过了什么吗?

最佳答案

有一个 Excluding() 的重载,它提供了一个 ISubjectInfo,您可以将其用于更高级的选择标准。有了这个重载,你可以做类似的事情:

subject.ShouldBeEquivalentTo(expected, config =>
config.Excluding(ctx => ctx.PropertyPath == "Level.Level.Text"));

关于c# - 使用 ShouldBeEquivalentTo 时如何排除 IEnumerable 中所有项目的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15361521/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com