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”。由于这满足了我们的要求,我们将得到以下绿色屏幕截图作为我们的输出。该方法的第二个参数是要比较的小数位数。

toBeCloseTo 方法

在上面的代码中,我们将期望值修改为 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”字符串。由于它不存在于预期的字符串中,因此会抛出错误,并且输出屏幕将相应地变为红色。

匹配错误