JasmineJS - Kiểm tra rỗng
Jasmine cung cấp nhiều phương pháp khác nhau để kiểm tra xem đầu ra thực tế là Null, được xác định hay không được xác định. Trong chương này, chúng ta sẽ học cách thực hiện các phương pháp Jasmine khác nhau để kiểm tra các kịch bản nêu trên.
Được xác định()
Trình so khớp này được sử dụng để kiểm tra xem có bất kỳ biến nào trong mã được xác định trước hay không. Hãy để chúng tôi sửa đổicustomerMatcherSpec.js tập tin theo ví dụ này.
currentVal = 0;
describe("Different Methods of Expect Block",function () {
it("Example of toBeDefined", function () {
expect(currentVal).toBeDefined();
});
});
Trong đoạn mã trên, toBeDefined () sẽ kiểm tra xem biến currentVal được xác định trong hệ thống hay không. Vì currentVal được xác định bằng 0 ngay từ đầu, nên kiểm tra này sẽ vượt qua và tạo ra một ảnh chụp màn hình màu xanh lá cây làm đầu ra.
Một lần nữa trong ví dụ trên, chúng ta hãy xóa dòng đầu tiên, nơi chúng ta thực sự xác định “currentVal” và chạy lại. Sau đó, chúng tôi sẽ nhận được một màn hình màu đỏ, có nghĩa là kiểm tra thực sự không thành công vì chúng tôi đang mong đợi một giá trị không xác định được xác định. Ảnh chụp màn hình sau sẽ là tệp đầu ra.
ToBeUndefined ()
Trình so khớp này giúp kiểm tra xem có bất kỳ biến nào trước đó chưa được xác định hay không, về cơ bản, nó hoạt động đơn giản đối lập với trình so khớp trước đó là toBeDefined. Trong ví dụ sau, chúng ta sẽ học cách sử dụng trình so khớp này. Hãy để chúng tôi sửa đổi tệp Spec của chúng tôi, tức làcustomerMatcher.js tệp với mục sau.
describe("Different Methods of Expect Block",function () {
it("Example of toBeUndefine()", function () {
var undefineValue;
expect(undefineValue).toBeUndefined();
});
});
Trong phần trên, chúng tôi sẽ xác minh xem biến “undefineValue”thực sự là không xác định hay không. Sau khi thêm tệp này vào SpecRunner, chúng ta sẽ nhận được ảnh chụp màn hình màu xanh lá cây làm đầu ra, cho chúng ta biết rằng giá trị này thực sự chưa được xác định trước đó.
Một lần nữa, hãy để chúng tôi xác định biến với một số giá trị được xác định trước và xem liệu nó có gặp lỗi hay không. Cái mớicustomerMatcher.js trông giống như sau.
describe("Different Methods of Expect Block",function () {
it("Example oftoBeUndefine()", function () {
var undefineValue = 0;
expect(undefineValue).toBeUndefined();
});
});
Đoạn mã trên sẽ tạo ra một lỗi và tạo ra một ảnh chụp màn hình màu đỏ vì chúng tôi đã xác định “undefineValue” có giá trị đối với “0”và mong đợi nó không được xác định. Ảnh chụp màn hình sau sẽ được tạo khi chạySpecRunner.html tập tin.
toBeNull ()
Như tên biểu thị trình so khớp này giúp kiểm tra các giá trị rỗng. Hãy để chúng tôi sửa đổi một lần nữacustomerMatcherSpec.js tập tin với đoạn mã sau.
describe("Different Methods of Expect Block",function () {
var value = null;
it("Example of toBeNull()", function () {
expect(value).toBeNull();
});
});
Trong đoạn mã trên, chúng tôi đã đề cập đến một biến ”value”và chúng tôi đã đề cập rõ ràng giá trị này là null. Trong khối mong đợi, trình so khớp toBeNull () sẽ kiểm tra giá trị này và cung cấp cho chúng tôi kết quả tương ứng. Sau đây là đầu ra của mã được đề cập ở trên khi nó được chạy thông qua sự trợ giúp của tệp SpecRunner.html.
Bây giờ chúng ta hãy kiểm tra bằng cách cung cấp một số giá trị được xác định khác với null. Vui lòng sửa đổicustomerMatcher.js tập tin phù hợp.
describe("Different Methods of Expect Block",function () {
var value = "TutorialsPoint";
it("Example of toBeNull()", function () {
expect(value).toBeNull();
});
});
Trong ví dụ trên, chúng tôi đã sửa đổi giá trị biến với “TutorialsPoint” mà không phải là giá trị rỗng. Do đó, thử nghiệm này sẽ không thành công và tạo ra ảnh chụp màn hình màu đỏ làm đầu ra.