工程開發
typescript-testing avatar

typescript-testing

標準化 TypeScript 的 Vitest 單元與整合測試工作流程,強制執行 70% 覆蓋率、正確的 Mock 實踐及 CI/CD 就緒的驗證模式。

簡介

此技能為使用 Vitest 的 TypeScript 專案提供結構化的測試框架,專為需要維持高軟體品質與穩健 CI/CD 流水的開發人員而設計。它透過強制執行嚴格的品質標準(如 70% 的單元測試覆蓋率、環境無關的測試執行及嚴格的架構解耦)超越了基本的測試需求。該代理程式確保測試程式碼具備與生產程式碼相同的可讀性與可維護性,並利用目錄結構、命名與斷言類型的專業慣例。

  • 強制執行單元測試,採用 vi.mock() 的全面 Mock 策略,並針對何時應在資料層測試中使用真實資料庫實作而非 Mock 提供明確指導。

  • 整合複雜的測試模式,包括用於組件協調的整合測試與端對端 (E2E) 跨功能驗證,確保在新增功能時的系統穩定性。

  • 支援高階驗證技術,例如使用 fast-check 進行基於屬性 (property-based) 的測試,以驗證不變量與邊界錯誤情況。

  • 透過命令列介面工具支援自動測試執行,包括 Vitest 的清理腳本,以防止 CI/CD 環境中的殭屍程序洩漏。

  • 提供關於避免 test.skip() 或註解掉程式碼等反模式的明確規則,傾向直接刪除或完整修復,以確保測試套件的完整性。

  • 輸入:目標 TypeScript 服務或功能模組。代理程式預期在專案設計文件中定義明確的業務需求與整合點。

  • 輸出:符合專案特定覆蓋率門檻與型別安全 Mock 慣例的高品質、可維護的測試檔案 (.test.ts 或 .int.test.ts)。

  • 限制:嚴格要求陳述句、分支、函式與行數達到 70% 的覆蓋率。Mock 必須限於外部 I/O 與直接相依項目;資料庫邏輯需要實際的資料庫驗證(容器化或記憶體內)以防止 Schema 偏移與查詢錯誤。

  • 最佳實踐:始終優先考慮基於結果的驗證而非呼叫順序,使用字面值進行斷言以將測試意圖與實作解耦,並確保所有測試均具備可重複性與獨立性。

倉庫統計

Star 數
204
Fork 數
20
Open Issue 數
0
主要語言
JavaScript
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月1日 上午08:07
在 GitHub 查看