【问题标题】:Differences between "Fluent Assertions" and "Should Assertion Library"“Fluent Assertions”和“Should Assertion Library”的区别
【发布时间】:2013-04-30 12:58:53
【问题描述】:
  • 有人能指出其中的区别吗?

以上确实是我的问题,但如果您也可以与他们分享您的经验以及为什么使用其中一种。

【问题讨论】:

标签: .net unit-testing


【解决方案1】:

它们只是两个不同的库,因此只需查看功能,尤其是报告功能,然后自行选择。

由于我是 Fluent Assertions 的作者,我显然有偏见。无论如何,我为我们一直在努力使错误消息尽可能清晰以使您远离调试器而感到自豪。

【讨论】:

  • 听作者说你的库的哪些功能比竞争对手的库更好。
  • 我会说结构比较 API 是 Fl​​uent Assertions 最强大的功能之一,其他库(仍然)没有。 AFAIK,Fluent Assertions 中没有任何内容。另见fluentassertions.com/documentation/#object-graph-comparison
  • @DennisDoomen 它(现在)也存在于应该中:actual.ShouldBeEquivalentTo(expected)
  • 我很确定它无法与 Fluent Assertions 与 offer 相比。我们花了好几年才达到现在的水平。
【解决方案2】:

SA- 的 FluentAssertions 示例不正确。示例应该是:

  • FluentAssertions:variable.Should().Be(10);
  • 应该:variable.ShouldBe(10);

如您所见,这个简单示例的用法几乎没有任何区别。

我发现 FluentAssertions 是需要更多动手操作但功能更强大的库,但应该缺少一些功能。使用自然语言时,Shouldly 的错误消息确实要好一些,但我不会说它们不那么技术性。

【讨论】:

    猜你喜欢
    • 2019-05-01
    • 2019-09-30
    • 2022-12-01
    • 2018-07-23
    • 2020-06-09
    • 2014-01-08
    • 2015-04-30
    • 2014-02-19
    • 2021-03-20
    相关资源
    最近更新 更多