【问题标题】:FluentAssertion - Adding assertion to if statementFluentAssertion - 向 if 语句添加断言
【发布时间】:2019-04-27 01:29:29
【问题描述】:

我有以下流利断言,我想将其放入 if 语句中。我收到一条错误消息,提示我无法将类型隐式转换为 bool。

我已尝试显式转换它,但我仍然收到一条错误消息,提示无法将类型转换为布尔值。

actors.Cast.Should().Contain(actor => actor.Name == "Emilia Clark");

检查上述陈述是否属实的最佳方法是什么?

【问题讨论】:

  • 什么都不做。如果不是真的,测试将失败,因为它会抛出异常。
  • 如果你在那里使用if - 你肯定做错了什么。

标签: c# unit-testing nunit assertion fluent-assertions


【解决方案1】:

检查上述陈述是否属实的最佳方法是什么?

什么都不做。

如果不正确,测试将失败,因为它会抛出异常。

//... Code before

//Assert
actors.Cast.Should().Contain(actor => actor.Name == "Emilia Clark");

//...if we reach this far it is true. Carry on.

//...other code

【讨论】:

    【解决方案2】:

    我假设“Cast”是一个 IEnumerable。您可以使用 Linq ".Any(...)"。

    if (Cast.Any(actor => actor.Name == "Emilia Clark")) {...}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 2021-11-22
      相关资源
      最近更新 更多