我想声明两个dtos列表的内容是等价的。但是,我希望在比较中忽略每个项目上的一个属性。从阅读收藏品和Fluent Assertions documentation的词典小节,我的理解是这一行应该做我想要的:
response.ShouldAllBeEquivalentTo(expected, options => options.Excluding(activity => activity.ActivityDetails.InternalId));
我编写了一个应该传递的单元测试,但是这个语句会导致抛出AssertionException并显示以下消息:
预期项目[0] .ActivityDetails.InternalId为0,但找到19372。
预期项目[1] .ActivityDetails.InternalId为0,但找到19374。
预期项目[2] .ActivityDetails.InternalId为0,但找到19376。
配置:
选择所有声明的属性
排除属性ActivityDetails.InternalId
按名称匹配属性(或抛出)
在info.RuntimeType.IsSameOrInherits(System.String)
时调用操作
我可能误解了文档。任何人都可以指出我做错了吗?