开发手册 欢迎您!
软件开发者资料库

JasmineJS - 顺序检查

JasmineJS顺序检查 - 从简单和简单的步骤学习JasmineJS从基本到高级概念,包括概述,环境设置,写入文本和执行,BDD架构,构建测试块,匹配器,跳过块,平等,布尔,顺序,空,不平等,不是数字,异常检查,beforeEach(),afterEach(),间谍。

Jasmine还提供了不同的方法来提供JS输出的顺序性.以下示例显示如何使用Jasmine实现顺序检查.

ToContain()

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个.

toContain Method

在上面的例子中,让我们用15改变3的值并再次运行规范.我们将获得以下红色屏幕,因为15不属于我们作为该函数的参数传递的数组.

toContain Error

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".由于这符合我们的要求,我们将有以下绿色屏幕截图作为输出.此方法的第二个参数是要与之比较的小数位数.

toBeCloseTo Method

在上面的代码中,让我们将期望值修改为15并运行 SpecRunner.html .

describe("Different Methods of Expect Block",function () {    it("Example of  toBeCloseTo()", function () {       expect(12.34).toBeCloseTo(15, 1);   });});

在这种情况下,15不会接近15,因此会产生错误并将红色屏幕截图显示为错误.

toBeCloseTo Error

ToMatch()

ToMatch() matcher适用于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 存在于字符串中,它将生成绿色屏幕截图并传递测试条件.

toMatch方法

现在让我们将输出更改为其他字符串,该字符串不在预期值中.然后我们的 customerMatcherSpec.js 将如下所示.

describe("Different Methods  of Expect Block",function () {    it("Example of toMatch()", function () {       expect("Jasmine tutorial in tutorials.com").toMatch(/XYZ/);   });});

上面的代码会在预期值中找到"XYZ"字符串.由于它在预期的字符串中不存在,它将抛出一个错误,输出屏幕将相应地为红色.

toMatch Error