Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
fluentassertions C#I Don';我不理解Should()。NotBeNull()_C#_Fluent Assertions - Fatal编程技术网

fluentassertions C#I Don';我不理解Should()。NotBeNull()

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();一切都

我已经通读了,但仍然不清楚如果var为null或不为null会发生什么

例如,如果你有

object someitem = null;
那就有

someitem.Should().NotBeNull(); 
如果为空,会发生什么?这个例子和我正在回顾的另一个程序员的代码几乎相同。在我看来,Should().NotBeNull()应该返回一个布尔值,但在我看过的任何文档中都没有看到。如果它只是返回一个布尔值,我不明白为什么代码是someitem.Should().NotBeNull();一切都会自行解决


我知道有些人可能会说,我们可以运行代码并设置一个断点,看看它在做什么。不幸的是,由于没有dev db设置,并且没有直接访问live db的权限,我无法从我的机器上运行代码。所以运行代码对我来说毫无用处

如果
someItem
为空,将抛出异常,否则将通过断言,测试将成功

您可以看到异常是如何在Execution文件夹的每个测试框架上抛出的

这是一个很好的例子。它会检查一些期望值,并在它们未满足时抛出异常。为什么需要一些dev db设置来查看它的工作原理?只需执行
字符串s=null;s、 应该()。您可以在没有数据库的情况下测试
Should().NotBeNull()
的行为。如果断言不真实,则通常会引发异常,或者在没有任何返回值的情况下继续下一行。您需要询问编写实时代码的人员。不是我们。不是我们写的。