FluentAssertions - ShouldAllBeEquivalentto和Excluding属性 - 意外失败

时间:2014-06-03 17:42:10

标签: c# unit-testing fluent-assertions

我想声明两个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)

时调用操作

我可能误解了文档。任何人都可以指出我做错了吗?

0 个答案:

没有答案