- JasmineJS 教程
- JasmineJS - 主页
- JasmineJS - 概述
- JasmineJS - 环境设置
- JasmineJS - 编写文本和执行
- JasmineJS - BDD 架构
- JasmineJS - 测试构建块
- JasmineJS - 匹配器
- JasmineJS - 跳过块
- JasmineJS - 平等检查
- JasmineJS - 布尔检查
- JasmineJS - 顺序检查
- JasmineJS - 空检查
- JasmineJS - 不平等检查
- JasmineJS - 不是数字检查
- JasmineJS - 异常检查
- JasmineJS - beforeEach()
- JasmineJS - afterEach()
- JasmineJS - 间谍
- JasmineJS 有用资源
- JasmineJS - 快速指南
- JasmineJS - 有用的资源
- JasmineJS - 讨论
JasmineJS - 空检查
Jasmine 提供了多种不同的方法来检查实际输出是否为 Null、已定义或未定义。在本章中,我们将学习如何实现不同的 Jasmine 方法来检查上述场景。
被定义为()
该匹配器用于检查代码中的任何变量是否是预定义的。让我们根据此示例修改customerMatcherSpec.js文件。
currentVal = 0; describe("Different Methods of Expect Block",function () { it("Example of toBeDefined", function () { expect(currentVal).toBeDefined(); }); });
在上面的代码中,toBeDefined()将检查变量currentVal是否在系统中定义。由于 currentVal 在开始时被定义为 0,因此该测试将通过并生成绿色屏幕截图作为输出。
再次在上面的示例中,让我们删除实际上定义“currentVal”的第一行并再次运行。然后我们将看到一个红色屏幕,这意味着测试实际上失败了,因为我们期望定义一个未定义的值。以下屏幕截图将是输出文件。
ToBe未定义()
这个匹配器有助于检查任何变量之前是否未定义,基本上它的工作原理与之前的匹配器 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”,并且我们明确将该值指定为 null。在expect块中,toBeNull()匹配器将检查这个值并给出相应的结果。以下是上述代码在 SpecRunner.html 文件的帮助下运行时的输出。
现在让我们通过提供除 null 之外的一些定义值来进行测试。请相应修改customerMatcher.js文件。
describe("Different Methods of Expect Block",function () { var value = "TutorialsPoint"; it("Example of toBeNull()", function () { expect(value).toBeNull(); }); });
在上面的例子中,我们用“TutorialsPoint”修改了变量值,它不是空值。因此,此测试将失败并生成红色屏幕截图作为输出。