今天再多了解一些 Code Coverage 的寫法與應用。
可以依照每個專案要求的測試要求去設定標準。像是:
在 package.json
中,加入 Jest 自定義 Code Coverage
{
...,
"jest": {
"collectCoverage": true,
"coverageThreshold": {
"global":{
"branches": 80, // if-esle 或 switch-case 邏輯片段測試覆蓋率要達到 80%
"functions": 80, // 函式中程式碼片段測試覆蓋率要達到 80%
"lines": 80, // 專案實際執行行數測試覆蓋率要達到 80%
"statements": -10,// 全局指定覆蓋率容許值,以此專案為例,80%-10筆語句測試可接受
}
}
}
}
每當執行 yarn coverage
檢查指定專案範圍內的測試項目,除了本身測試內容執行,還會依據上述的自定義覆蓋率顯示測試結果為 PASS 或 FAIL 與原因。
Code Coverage 對於未來執行 CI/CD 會有很大的幫助。