
- JasmineJS 教程
- JasmineJS - 首頁
- JasmineJS - 概述
- JasmineJS - 環境設定
- JasmineJS - 書寫文字和執行
- JasmineJS - BDD 架構
- JasmineJS - 測試的基本構建塊
- JasmineJS - Matchers
- JasmineJS - 跳過塊
- JasmineJS - 等值檢查
- JasmineJS - 布林值檢查
- JasmineJS - 順序檢查
- JasmineJS - 空值檢查
- JasmineJS - 不等式檢查
- JasmineJS - 非數字檢查
- JasmineJS - 異常檢查
- JasmineJS - beforeEach()
- JasmineJS - afterEach()
- JasmineJS - Spies
- JasmineJS 有用資源
- JasmineJS - 快速指南
- JasmineJS - 有用資源
- JasmineJS - 討論
JasmineJS - 空值檢查
Jasmine 提供了多種方法來檢查實際輸出是否為空、已定義或未定義。在本章中,我們將學習如何實現不同的 Jasmine 方法來檢查上述場景。
ToBedefined()
此匹配器用於檢查程式碼中的任何變數是否已預定義。讓我們根據此示例修改我們的customerMatcherSpec.js檔案。
currentVal = 0; describe("Different Methods of Expect Block",function () { it("Example of toBeDefined", function () { expect(currentVal).toBeDefined(); }); });
在上面的程式碼中,toBeDefined() 將檢查變數currentVal是否在系統中定義。由於currentVal最初定義為0,因此此測試將透過並生成綠色截圖作為輸出。

同樣在上面的示例中,讓我們刪除第一行,我們實際上定義了“currentVal”並再次執行。然後我們將得到一個紅色螢幕,這意味著測試實際上失敗了,因為我們期望一個未定義的值被定義。以下螢幕截圖將是輸出檔案。

ToBeUndefined()
此匹配器有助於檢查任何變數是否以前未定義,基本上它與之前的匹配器toBeDefined的工作方式相反。在以下示例中,我們將學習如何使用此匹配器。讓我們使用以下條目修改我們的 Spec 檔案,即customerMatcher.js檔案。
describe("Different Methods of Expect Block",function () { it("Example of toBeUndefine()", function () { var undefineValue; expect(undefineValue).toBeUndefined(); }); });
在上一節中,我們將驗證我們的變數“undefineValue”是否實際上未定義。將此檔案新增到SpecRunner後,我們將收到一個綠色螢幕截圖作為輸出,這告訴我們此值實際上以前未定義。

同樣,讓我們使用一些預定義的值定義變數,並檢視它是否會引發錯誤。新的customerMatcher.js如下所示。
describe("Different Methods of Expect Block",function () { it("Example oftoBeUndefine()", function () { var undefineValue = 0; expect(undefineValue).toBeUndefined(); }); });
上面的程式碼段將引發錯誤並生成一個紅色螢幕截圖,因為我們已經將“undefineValue”的值定義為“0”,並期望它未定義。執行SpecRunner.html檔案時將生成以下螢幕截圖。

toBeNull()
顧名思義,此匹配器有助於檢查空值。讓我們再次使用以下程式碼段修改customerMatcherSpec.js檔案。
describe("Different Methods of Expect Block",function () { var value = null; it("Example of toBeNull()", function () { expect(value).toBeNull(); }); });
在上面的程式碼中,我們提到了一個變數”value”,並且我們已明確地將此值指定為空。在expect塊中,toBeNull()匹配器將檢查此值並相應地給出結果。以下是上述程式碼在透過SpecRunner.html檔案執行時的輸出。

現在讓我們透過提供除空值之外的一些已定義值來進行測試。請相應地修改customerMatcher.js檔案。
describe("Different Methods of Expect Block",function () { var value = "TutorialsPoint"; it("Example of toBeNull()", function () { expect(value).toBeNull(); }); });
在上面的示例中,我們已將變數值修改為“TutorialsPoint”,它不是空值。因此,此測試將失敗併產生紅色螢幕截圖作為輸出。
