- 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 还提供了不同的方法来提供 JS 输出的顺序性。以下示例展示了如何使用 Jasmine 实现顺序检查。
包含装有()
toContain()匹配器为我们提供了检查任何元素是否是同一数组或其他顺序对象的一部分的工具。下面的例子将帮助我们理解 Jasmine toContain() 方法的工作方法。让我们在之前创建的customerMatcherSpec.js文件中添加以下代码。
describe("Different Methods of Expect Block",function () { it("The Example of toContain() method",function () { expect([1,2, 3, 4]).toContain(3); }); });
在上面的示例中,我们检查该数组中是否存在 3。当数组中存在 3 时,我们得到绿色输出。
在上面的示例中,我们将 3 的值更改为 15,然后再次运行规范。我们将看到以下红色屏幕,因为 15 不属于我们作为该函数的参数传递的数组。
ToBeCloseTo()
toBeCloseTo()匹配器匹配实际值是否接近期望值。在下面的示例中,我们将修改customerMatcherSpec.js文件并查看其实际工作原理。
describe("Different Methods of Expect Block", function () { it("Example of toBeCloseTo()", function () { expect(12.34).toBeCloseTo(12.3, 1); }); });
在上面的描述块中,我们正在检查实际结果“12.3”是否更接近预期输出“12.34”。由于这满足了我们的要求,我们将得到以下绿色屏幕截图作为我们的输出。该方法的第二个参数是要比较的小数位数。
在上面的代码中,我们将期望值修改为 15 并运行SpecRunner.html。
describe("Different Methods of Expect Block",function () { it("Example of toBeCloseTo()", function () { expect(12.34).toBeCloseTo(15, 1); }); });
在这种情况下,15 与 15 相差甚远,因此它将生成错误并显示红色屏幕截图作为错误。
匹配()
ToMatch()匹配器适用于 String 类型变量。确定预期输出中是否存在特定字符串很有帮助。以下是我们的customerMatcherSpec.js的样子。
describe("Different Methods of Expect Block",function () { it("Example of toMatch()", function () { expect("Jasmine tutorial in tutorials.com").toMatch(/com/); }); });
这段代码将测试“com”是否存在于给定的预期字符串中。由于字符串中存在com ,因此会生成绿色截图并通过测试条件。
现在让我们将输出更改为其他字符串,该字符串不存在于预期值中。那么我们的customerMatcherSpec.js将如下所示。
describe("Different Methods of Expect Block",function () { it("Example of toMatch()", function () { expect("Jasmine tutorial in tutorials.com").toMatch(/XYZ/); }); });
上面的代码将在预期值中找到“XYZ”字符串。由于它不存在于预期的字符串中,因此会抛出错误,并且输出屏幕将相应地变为红色。