Jest 是前端常見的測試框架(Test runner)。
由 Facebook 開發與 React 的整合度高,因此在前端專案中被廣泛使用。
Jest的主要用途是自動化測試,屬於單元測試(Unit Test)的範疇。
console.log
來檢查程式執行狀況,Node.js
、npm
與 Jest
。npm install --save-dev jest
--coverage
可以產生測試覆蓋率報告,方便了解程式碼的測試完整度。package.json
中加入:
"scripts": {
"test": "jest --coverage"
}
將需要測試的程式碼輸出成一個 module。
建立 .test.js
檔案,並引入要測試的 module。
常見語法:
describe():描述一組測試,類似群組概念。
describe('測試說明', function() {
test(...)
})
test():定義單一個測試案例。
test('測試說明', function() {
expect(測試的函式).toBe(預期回傳的值)
})
建議將測試分為 正常情況 與 異常情況,並再細分子情境,以確保涵蓋全面。
npm run test
npm test q1.test.js
npm test q1
Jest 提供測試覆蓋率報告,幫助檢查測試是否完整。
在設計測試案例時,可以遵循 3A 原則: