0

我想断言两个 dto 列表的内容是等价的。但是,我希望在比较中忽略每个项目的一个属性。通过阅读Fluent Assertions 文档的 collections & dictionaries 小节,我的理解是这条线应该做我想做的事:

response.ShouldAllBeEquivalentTo(expected, options => options.Excluding(activity => activity.ActivityDetails.InternalId));

我编写了一个应该通过的单元测试,但是这个语句导致 AssertionException 被抛出,并带有以下消息:

预期 item[0].ActivityDetails.InternalId 为 0,但找到 19372。

预期 item[1].ActivityDetails.InternalId 为 0,但找到 19374。

预期 item[2].ActivityDetails.InternalId 为 0,但找到 19376。

带配置:

选择所有声明的属性

排除属性 ActivityDetails.InternalId

按名称匹配属性(或抛出)

info.RuntimeType.IsSameOrInherits(System.String) 时调用 Action

我可能误解了文档。谁能指出我做错了什么?

4

0 回答 0