JasmineJS教程

JasmineJS 空检查

Jasmine 提供了多种方法来检查实际输出是否为 Null、已定义或未定义。在本章中,我们将学习如何实现不同的 Jasmine 方法来检查上述场景。

ToBedefined()

此匹配器用于检查代码中的任何变量是否已预定义。让我们根据这个例子修改我们的 customerMatcherSpec.js 文件。
currentVal = 0;  
describe("Different Methods  of Expect Block",function () { 
   it("Example of  toBeDefined", function () {
      expect(currentVal).toBeDefined();
   });
});
在上面的代码中,toBeDefined() 将检查变量 currentVal 是否在系统中定义。由于 currentVal 一开始被定义为 0,这个测试将通过并生成一个绿色屏幕截图作为输出。
toBeDefined Method
再次在上面的例子中,让我们删除第一行,在那里我们实际定义了"currentVal"并再次运行。然后我们会得到一个红屏,这意味着测试实际上失败了,因为我们期望一个未定义的值已定义。以下屏幕截图将是输出文件。
toBeDefined Error

ToBeUndefined()

这个匹配器有助于检查之前是否有任何变量未定义,基本上它的工作原理与之前的 toBeDefined 匹配器相反。在下面的例子中,我们将学习如何使用这个匹配器。让我们修改我们的 Spec 文件,即具有以下条目的 customerMatcher.js 文件。
describe("Different Methods of Expect Block",function () { 
   it("Example of toBeUndefine()", function () { 
      var undefineValue; 
      expect(undefineValue).toBeUndefined(); 
   });
}); 
在上一节中,我们将验证我们的变量 "undefineValue" 是否实际上是未定义的。将此文件添加到 SpecRunner 后,我们将收到一个绿色屏幕截图作为输出,即告诉我们这个值实际上之前没有定义。
toBeUndefine Method
再次让我们用一些预定义的值定义变量,看看它是否会抛出错误。新的 customerMatcher.js 如下所示。
describe("Different Methods of Expect Block",function () {
   it("Example oftoBeUndefine()", function () { 
      var undefineValue = 0;
      expect(undefineValue).toBeUndefined();
   });
});
上面的代码将抛出错误并生成红色屏幕截图,因为我们已经将 "undefineValue" 值定义为 "0" 并期望它不被定义。以下屏幕截图将在运行 SpecRunner.html 文件时生成。
toBeUndefine Error

toBeNull()

顾名思义,这个匹配器有助于检查空值。让我们再次使用以下代码修改我们的 customerMatcherSpec.js 文件。
describe("Different Methods of Expect Block",function () { 
   var value = null; 
	
   it("Example of toBeNull()", function () { 
      expect(value).toBeNull();
   });
}); 
在上面的代码中,我们提到了一个变量 "value" 并且我们已经明确地提到这个值是 null。在 expect 块中, toBeNull() 匹配器将检查此值并相应地为我们提供结果。以下是通过SpecRunner.html文件的帮助运行上述代码的输出。
toBeNull 方法
现在让我们通过提供一些除 null 以外的已定义值来进行测试。请相应地修改 customerMatcher.js 文件。
describe("Different Methods of Expect Block",function () {
   var value = "Lidihuo"; 
	
   it("Example of  toBeNull()", function () { 
      expect(value).toBeNull();
   });
}); 
在上面的示例中,我们使用"Lidihuo"修改了变量值,该值不是空值。因此,此测试将失败并生成红色屏幕截图作为输出。
toBeNull 错误
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4