FluentAssertion - 向 if 语句添加断言
Posted
技术标签:
【中文标题】FluentAssertion - 向 if 语句添加断言【英文标题】:FluentAssertion - Adding assertion to if statement 【发布时间】:2019-04-27 01:29:29 【问题描述】:我有以下流利断言,我想将其放入 if 语句中。我收到一条错误消息,提示我无法将类型隐式转换为 bool。
我已尝试显式转换它,但我仍然收到一条错误消息,提示无法将类型转换为布尔值。
actors.Cast.Should().Contain(actor => actor.Name == "Emilia Clark");
检查上述陈述是否属实的最佳方法是什么?
【问题讨论】:
什么都不做。如果不是真的,测试将失败,因为它会抛出异常。 如果你在那里使用if
- 你肯定做错了什么。
【参考方案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")) ...
【讨论】:
以上是关于FluentAssertion - 向 if 语句添加断言的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 FluentAssertion 编写 CustomAssertion?
使用 FluentAssertion 时 Visual Studio 警告 CA1806 的错误识别(不要忽略方法结果)
如何使用 FluentAssertion 测试一个对象是不是等同于另一个已设置属性 solidcolorbrush 的对象