
- JasmineJS 教程
- JasmineJS - 首頁
- JasmineJS - 概述
- JasmineJS - 環境設定
- JasmineJS - 書寫測試用例及執行
- JasmineJS - BDD 架構
- JasmineJS - 測試的構建塊
- JasmineJS - 斷言
- JasmineJS - 跳過塊
- JasmineJS - 等值檢查
- JasmineJS - 布林值檢查
- JasmineJS - 順序檢查
- JasmineJS - 空值檢查
- JasmineJS - 不等值檢查
- JasmineJS - 非數值檢查
- JasmineJS - 異常檢查
- JasmineJS - beforeEach()
- JasmineJS - afterEach()
- JasmineJS - 間諜 (Spies)
- JasmineJS 有用資源
- JasmineJS - 快速指南
- JasmineJS - 有用資源
- JasmineJS - 討論
JasmineJS - BDD 架構
Jasmine 遵循行為驅動開發 (BDD) 框架。在學習 Jasmine 的工作原理之前,讓我們瞭解一下什麼是 BDD 框架。
下圖描述了 BDD 框架的不同階段。

步驟 1 - 開始
在這個階段,我們將準備好 Jasmine 應用的環境。
步驟 2 - 寫一個失敗的測試
在這個步驟中,我們將編寫我們的第一個測試用例。很明顯,這個測試會失敗,因為沒有這樣的檔案或函式需要測試。
步驟 3 - 編寫程式碼使其透過
在這個階段,我們將準備需要測試的 JavaScript 檔案或函式。這個階段至關重要,因為我們需要確保在早期階段準備的所有測試用例都將成功。
步驟 4 - 重構
重構是 BDD 模型中非常重要的一個階段,在這個階段我們需要為特定的應用程式或函式準備儘可能多的測試用例。
步驟 5 - 結束
如果一切順利,那麼您的應用程式就應該準備就緒並啟動。因此,我們可以將此步驟視為 BDD 應用程式的結束。
示例
我們現在已經瞭解了 BDD 框架的工作原理。讓我們看看 Jasmine 如何在 JavaScript 測試中遵循此 BDD 框架。
如截圖所示,我們需要使用 Jasmine 框架測試 Abc.js。SpecRunner.html 是輸出檔案,它將 Spec.js(測試用例檔案)、Abc.js(待測試檔案) 和 LIB 作為輸入,執行 spec 檔案中存在的所有測試用例並將結果呈現到瀏覽器中。

Lib - 這些是內建的 JavaScript 檔案,有助於測試專案中使用的不同函式和其他 JavaScript 檔案。
Spec.js(測試用例檔案) - 這是一個 JavaScript 檔案,包含測試任何 JavaScript 函式或檔案所需的所有測試用例。在 BDD 方法中,我們將先編寫測試,因此這是需要首先更新的檔案。當然,這會失敗,因為我們的專案中沒有可以測試的檔案或函式。這個檔案可以無限次地重構,直到所有功能都經過測試。
Abc.js(待測試檔案) - 這個檔案包含將使用 Spec.js 和 Lib 檔案進行單元測試的功能。
SpecRunner.html - SpecRunner.html 是一個普通的 html 檔案,它將藉助嵌入其中的 JavaScript 程式碼呈現單元測試的輸出。