Null Check(Null Check)

优质
小牛编辑
122浏览
2023-12-01

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方法

再次在上面的例子中,让我们删除第一行,我们实际定义“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方法

再次让我们使用一些预定义的值定义变量,看看它是否会抛出错误。 新的customerMatcher.js如下所示。

describe("Different Methods of Expect Block",function (){
   it("Example oftoBeUndefine()", function (){ 
      var undefineValue = 0;
      expect(undefineValue).toBeUndefined();
   });
});

上面的代码将抛出错误并生成红色屏幕截图,因为我们已经将“undefineValue”值定义为“0”并期望它未定义。 将在运行SpecRunner.html文件时生成以下屏幕截图。

toBeUndefine错误

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 = "xnip"; 
   it("Example of  toBeNull()", function (){ 
      expect(value).toBeNull();
   });
}); 

在上面的示例中,我们使用“xnip”修改了变量值,该值不是空值。 因此,此测试将失败并生成红色屏幕截图作为输出。

toBeNull错误