【发布时间】:2018-08-03 14:34:33
【问题描述】:
我已经阅读了fluentassertions.com,但仍然对如果 var 为 null 或不为 null 会发生什么感到困惑。
例如,如果你有
object someitem = null;
然后有
someitem.Should().NotBeNull();
如果它为空会发生什么?这个例子与我正在审查的另一个编码器的代码几乎相同。对我来说,Should().NotBeNull() 似乎应该返回一个布尔值,但我在我查看过的任何文档中都没有看到。如果它只是返回一个布尔值,我不明白为什么代码 someitem.Should().NotBeNull();将完全由它自己。
我知道有些人可能会说运行代码并设置断点以查看它在做什么。不幸的是,由于没有开发数据库设置并且无法直接访问实时数据库,我无法从我的盒子中运行代码。所以运行代码对我没有任何帮助。
【问题讨论】:
-
这是一个assertion。它会检查一些期望,并在它们不满足时抛出异常。
-
为什么需要一些开发数据库设置来查看它是如何工作的?只需执行
string s = null; s.Should().BeNotNull()看看会发生什么。 -
您是否无权访问数据库与您的问题完全无关。您可以在没有数据库的情况下测试
Should().NotBeNull()的行为。 -
断言如果不为真,通常会抛出异常,或者继续下一行而没有任何返回值。
-
您需要询问编写实时代码的人。不是我们。不是我们写的。
标签: c# fluent-assertions