Fluentassertions.ShouldBeEquivalentTo 中的 Ignoredatamember
Posted
技术标签:
【中文标题】Fluentassertions.ShouldBeEquivalentTo 中的 Ignoredatamember【英文标题】:Ignore DataMember in Fluent Assertions.ShouldBeEquivalentTo 【发布时间】:2017-08-28 23:54:37 【问题描述】:我正在使用 FluentAssertions 库来验证序列化是否使用 DataContractSerializer 按预期工作。
我正在序列化的许多对象在某些属性上都有[IgnoreDataMember]
属性。
在执行ShouldBeEquivalentTo
断言时,有没有办法指示流畅的断言忽略忽略的数据成员?
【问题讨论】:
【参考方案1】:你可以做类似的事情
actual.ShouldBeEquivalentTo(expected, options => options.Excluding(info => info.RuntimeType.GetCustomAttributes().Any()));
info
对象属于ISubjectInfo
类型,并提供有关所涉及属性的各种信息。
【讨论】:
只是我,还是这个答案不起作用(不再)?另外:info
不是ISubjectInfo
.. 类型
5.0 中有相当多的重大变化。
我怀疑是这样。但是我找不到解决问题的新方法。我想出的最好的办法是序列化两个对象并比较结果。
在 5.0 中,语法已更改为 actual.Should().BeEquivalent()
。其余选项相同。以上是关于Fluentassertions.ShouldBeEquivalentTo 中的 Ignoredatamember的主要内容,如果未能解决你的问题,请参考以下文章