fluentassertions C#I Don';我不理解Should()。NotBeNull()
我已经通读了,但仍然不清楚如果var为null或不为null会发生什么 例如,如果你有fluentassertions C#I Don';我不理解Should()。NotBeNull(),c#,fluent-assertions,C#,Fluent Assertions,我已经通读了,但仍然不清楚如果var为null或不为null会发生什么 例如,如果你有 object someitem = null; 那就有 someitem.Should().NotBeNull(); 如果为空,会发生什么?这个例子和我正在回顾的另一个程序员的代码几乎相同。在我看来,Should().NotBeNull()应该返回一个布尔值,但在我看过的任何文档中都没有看到。如果它只是返回一个布尔值,我不明白为什么代码是someitem.Should().NotBeNull();一切都
object someitem = null;
那就有
someitem.Should().NotBeNull();
如果为空,会发生什么?这个例子和我正在回顾的另一个程序员的代码几乎相同。在我看来,Should().NotBeNull()应该返回一个布尔值,但在我看过的任何文档中都没有看到。如果它只是返回一个布尔值,我不明白为什么代码是someitem.Should().NotBeNull();一切都会自行解决
我知道有些人可能会说,我们可以运行代码并设置一个断点,看看它在做什么。不幸的是,由于没有dev db设置,并且没有直接访问live db的权限,我无法从我的机器上运行代码。所以运行代码对我来说毫无用处 如果
someItem
为空,将抛出异常,否则将通过断言,测试将成功
您可以看到异常是如何在Execution文件夹的每个测试框架上抛出的
这是一个很好的例子。它会检查一些期望值,并在它们未满足时抛出异常。为什么需要一些dev db设置来查看它的工作原理?只需执行
字符串s=null;s、 应该()。您可以在没有数据库的情况下测试Should().NotBeNull()
的行为。如果断言不真实,则通常会引发异常,或者在没有任何返回值的情况下继续下一行。您需要询问编写实时代码的人员。不是我们。不是我们写的。