- JasmineJS 教程
- JasmineJS - 首页
- JasmineJS - 概述
- JasmineJS - 环境设置
- JasmineJS - 书写文本和执行
- JasmineJS - BDD 架构
- JasmineJS - 测试的基本构建块
- JasmineJS - Matchers
- JasmineJS - 跳过块
- JasmineJS - 等值检查
- JasmineJS - 布尔值检查
- JasmineJS - 顺序检查
- JasmineJS - 空值检查
- JasmineJS - 不等式检查
- JasmineJS - 非数字检查
- JasmineJS - 异常检查
- JasmineJS - beforeEach()
- JasmineJS - afterEach()
- JasmineJS - Spies
- JasmineJS 有用资源
- JasmineJS - 快速指南
- JasmineJS - 有用资源
- JasmineJS - 讨论
JasmineJS - 空值检查
Jasmine 提供了多种方法来检查实际输出是否为空、已定义或未定义。在本章中,我们将学习如何实现不同的 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,因此此测试将通过并生成绿色截图作为输出。
同样在上面的示例中,让我们删除第一行,我们实际上定义了“currentVal”并再次运行。然后我们将得到一个红色屏幕,这意味着测试实际上失败了,因为我们期望一个未定义的值被定义。以下屏幕截图将是输出文件。
ToBeUndefined()
此匹配器有助于检查任何变量是否以前未定义,基本上它与之前的匹配器toBeDefined的工作方式相反。在以下示例中,我们将学习如何使用此匹配器。让我们使用以下条目修改我们的 Spec 文件,即customerMatcher.js文件。
describe("Different Methods of Expect Block",function () { it("Example of toBeUndefine()", function () { var undefineValue; expect(undefineValue).toBeUndefined(); }); });
在上一节中,我们将验证我们的变量“undefineValue”是否实际上未定义。将此文件添加到SpecRunner后,我们将收到一个绿色屏幕截图作为输出,这告诉我们此值实际上以前未定义。
同样,让我们使用一些预定义的值定义变量,并查看它是否会引发错误。新的customerMatcher.js如下所示。
describe("Different Methods of Expect Block",function () { it("Example oftoBeUndefine()", function () { var undefineValue = 0; expect(undefineValue).toBeUndefined(); }); });
上面的代码段将引发错误并生成一个红色屏幕截图,因为我们已经将“undefineValue”的值定义为“0”,并期望它未定义。运行SpecRunner.html文件时将生成以下屏幕截图。
toBeNull()
顾名思义,此匹配器有助于检查空值。让我们再次使用以下代码段修改customerMatcherSpec.js文件。
describe("Different Methods of Expect Block",function () { var value = null; it("Example of toBeNull()", function () { expect(value).toBeNull(); }); });
在上面的代码中,我们提到了一个变量”value”,并且我们已明确地将此值指定为空。在expect块中,toBeNull()匹配器将检查此值并相应地给出结果。以下是上述代码在通过SpecRunner.html文件运行时的输出。
现在让我们通过提供除空值之外的一些已定义值来进行测试。请相应地修改customerMatcher.js文件。
describe("Different Methods of Expect Block",function () { var value = "TutorialsPoint"; it("Example of toBeNull()", function () { expect(value).toBeNull(); }); });
在上面的示例中,我们已将变量值修改为“TutorialsPoint”,它不是空值。因此,此测试将失败并产生红色屏幕截图作为输出。