gpt4 book ai didi

c# - FluentAssertions : ShouldBeEquivalentTo vs Should(). Be() vs Should().BeEquivalentTo()?

转载 作者:IT王子 更新时间:2023-10-29 04:16:54 24 4
gpt4 key购买 nike

谁能总结一下它们之间的区别和使用范围?

我阅读了 SO 文章,

  • ShouldBeEquivalientTo() :ShouldBeEquivalentTo() 旨在用于比较复杂的对象图,而不是 .NET 框架的原始类型部分。
  • Should().BeEquivalentTo() :用于验证等价性的单个项目 Equals() 实现,自版本 1 以来一直存在。FA 2.0 中引入的较新的 ShouldBeEquivalenTo() 正在进行深入的结构比较,并报告任何差异。
  • Should().Be():找不到。

以我的拙见,ShouldBeEquivalentTo()Should().BeEquivalentTo() 的工作方式类似,如果 Should().BeEquivalentTo()进行深入比较。

最佳答案

我同意这令人困惑。 Should().BeEquivalentTo() 实际上应该被称为 Should().EqualInAnyOrder() 或类似的名称。正如您所说,它使用所涉及对象的 Equals 实现来查看 expected 集合中的所有对象是否都出现在 actual 集合中, 无论顺序如何。我需要为下一个主要版本修复它。

关于c# - FluentAssertions : ShouldBeEquivalentTo vs Should(). Be() vs Should().BeEquivalentTo()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25925568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com