用途:在 .NET 单元测试中比对复杂对象与深层结构,验证 DTO、Entity 及多层嵌套对象是否符合预期。
主要能力:使用 BeEquivalentTo 进行对象图比对;通过 Excluding、Including 过滤属性;用 IgnoringCyclicReferences() 与 WithMaxRecursionDepth(n) 处理循环参照;用 WithStrictOrdering()/WithoutStrictOrdering() 控制集合顺序;用 WithTracing() 调试比对失败;支持自定义比对规则与 AssertionScope 批次验证。
使用方式:在测试中调用 actual.Should().BeEquivalentTo(expected, options => options.Excluding(...)),可配合 because 参数说明意图。常见模式包括 EF 实体比对(排除导航属性与时间戳)、API 响应比对(ExcludingMissingMembers 忽略额外字段)、测试数据建构器比对。
适用场景:深层对象结构比对、排除自动生成字段、树状或双向关联结构、大量数据效能优化比对、关键属性验证。
限制:资料未提供安装命令、版本要求与完整 API 清单;性能与递归深度需自行按场景调整,避免对大量数据做完整深度比对。