JasmineJS - Kiểm tra tuần tự

Jasmine cũng cung cấp các phương pháp khác nhau để cung cấp tính tuần tự của đầu ra JS. Các ví dụ sau đây cho thấy cách triển khai kiểm tra tuần tự bằng Jasmine.

Để chứa()

toContain()so khớp cung cấp cho chúng tôi cơ sở để kiểm tra xem bất kỳ phần tử nào là một phần của cùng một mảng hoặc một số đối tượng tuần tự khác. Ví dụ sau sẽ giúp chúng ta hiểu phương pháp làm việc của phương thức Jasmine toContain (). Hãy thêm đoạn mã sau vào đoạn mã đã tạo trước đócustomerMatcherSpec.js tập tin.

describe("Different Methods of Expect Block",function () {  
   it("The  Example of toContain() method",function () { 
      expect([1,2, 3, 4]).toContain(3);
   });
});

Trong ví dụ trên, chúng ta đang kiểm tra xem 3 có trong mảng đó hay không. Chúng tôi nhận được kết quả đầu ra màu xanh lá cây vì 3 hiện diện trong mảng.

Trong ví dụ trên, hãy thay đổi giá trị của 3 bằng 15 và chạy lại thông số kỹ thuật. Chúng ta sẽ nhận được màn hình màu đỏ sau đây vì 15 không thuộc mảng mà chúng ta đang truyền dưới dạng tham số của hàm đó.

ToBeCloseTo ()

toBeCloseTo()so khớp đối sánh liệu giá trị thực tế có gần với giá trị mong đợi hay không. Trong ví dụ sau, chúng tôi sẽ sửa đổicustomerMatcherSpec.js và xem cách này thực sự hoạt động.

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

Trong khối Mô tả ở trên, chúng tôi đang kiểm tra xem kết quả thực tế “12.3” có gần với kết quả mong đợi “12.34” hay không. Vì điều này đáp ứng yêu cầu của chúng tôi, chúng tôi sẽ có ảnh chụp màn hình màu xanh lá cây sau làm đầu ra của chúng tôi. Tham số thứ hai của phương thức này là số vị trí thập phân được so sánh với.

Trong đoạn mã trên, hãy sửa đổi giá trị mong đợi thành 15 và chạy SpecRunner.html.

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

Trong trường hợp này, 15 không gần bằng 15, do đó nó sẽ tạo ra lỗi và hiển thị ảnh chụp màn hình màu đỏ là một lỗi.

Khớp()

ToMatch()matcher hoạt động trên biến kiểu String. Sẽ rất hữu ích khi tìm xem một Chuỗi cụ thể có hiện diện trong đầu ra mong đợi hay không. Sau đây là những gì của chúng tôicustomerMatcherSpec.js giống như.

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

Đoạn mã này sẽ kiểm tra xem “com”có mặt trong Chuỗi dự kiến ​​đã cho. Nhưcom tồn tại trong chuỗi, nó sẽ tạo ra một ảnh chụp màn hình màu xanh lá cây và vượt qua điều kiện kiểm tra.

Bây giờ chúng ta hãy thay đổi đầu ra thành một số chuỗi khác, không có trong giá trị mong đợi. Sau đó của chúng tôicustomerMatcherSpec.js sẽ giống như sau.

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

Đoạn mã trên sẽ tìm chuỗi “XYZ” trong giá trị mong đợi. Vì nó không tồn tại trong chuỗi mong đợi, nó sẽ gây ra lỗi và màn hình đầu ra sẽ có màu đỏ tương ứng.