Skip to main content

安裝與基礎測試

Jest 是 JavaScript 測試框架,由 Meta 所維護,並廣泛用於測試 React 應用程序,主要用於撰寫自動化的單元測試和整合測試。

除了 Jest,還有一些其他流行的 JavaScript 測試框架,如:MochaJasmineKarma

安裝 Jest

創建專案

npm init -y

-y--yes 的縮寫,這表示自動同意所有問題的默認答案,並快速創建一個新的 package.json 文件。

下載套件

npm install jest --save-dev

--save-dev 為命令選項,將模組作為 開發依賴 (Development Dependencies) 安裝,而非 生產依賴(Production Dependencies) ,表示模組僅在開發過程中需要,而在生產環境中則不必使用。

配置 package.json

package.json 文件中,添加一個測試腳本:

"scripts": {
"test": "jest"
}

編寫基礎測試

創建測試文件

在專案中,創建一個以 .test.js 結尾的文件,例如 example.test.js, Jest 會自動找到這些測試文件。

test('兩數相加結果為正確', () => {
expect(1 + 2).toBe(3);
});

在這個例子中, test 函式用於定義一個測試案例,其兩個參數的意義如下:

  • 測試案例的名稱:用於描述測試案例的目的或正在測試的行為。

  • 匿名函式:函式中包含了測試的邏輯,expecttoBe 是 Jest 提供的匹配器(matchers),用來進行斷言(assertions),斷言是單元測試中的一個重要概念,它用於檢查程式碼的某個特定部分是否符合預期的行為或結果。因此上方測試內容為:「 1 加 2 期望會等於 3 」。

運行測試

npm run test

終端機執行後,將顯示測試的結果:

runTest

會顯示測試了哪些 .test.js 檔案,如果測試內的結果正確符合的話會輸出 PASS 。

為了進行一次錯誤測試,這邊把預期(toBe)的數字改成 4 :

runErrorTest
  • Expected:測試中期望得到的結果。
  • Received:測試中實際得到的結果。