工程開發
tdd-enforce avatar

tdd-enforce

透過 pre-commit hook 與 CI/CD 覆蓋率門檻強制執行 TDD。自動化測試執行並確保程式碼符合最低覆蓋率要求。

簡介

tdd-enforce 技能為維護軟體品質提供了強大的框架,將測試驅動開發 (TDD) 直接整合至開發流程中。此技能專為在既有或全新環境中工作的工程團隊與開發者設計,確保程式碼在提交或合併至主分支前,已通過測試套件驗證與覆蓋率檢核。透過標準化執行流程,它消除了人為疏失,防止測試品質隨時間下滑。

  • 自動偵測專案類型(Node.js, Python, Java),初始化適當的 hook,如 Husky、pre-commit 或 Maven/Gradle 設定。

  • 設定 pre-commit hook 以執行受影響的測試,防止提交測試失敗或缺少對應測試檔案的程式碼。

  • 建立 CI/CD 覆蓋率門檻,當覆蓋率低於設定值(例如 Google 標準的 80% 行覆蓋率)時,導致 PR 或建置失敗。

  • 支援多種強制等級,包含適合逐步導入 TDD 的審計模式、標準警告,以及高標準專案的嚴格阻擋模式。

  • 提供細緻的門檻定義,涵蓋行、分支、函數覆蓋率,並可追蹤關鍵路徑(如認證、支付)。

  • 透過 GitHub Actions 或其他 CI 提供商將覆蓋率報告自動發佈至 PR 評論中。

  • 當您啟動專案 TDD 轉型或試圖抑制既有專案的技術債時,請使用此技能。

  • 輸入通常包含專案檔案結構與偏好的門檻值;輸出包括已設定的本地 hook、CI 工作流程 YAML 檔案及專案設定更新。

  • 該技能遵循 ISTQB 測試自動化策略等行業標準,並參考了 Google Testing Blog 的覆蓋率指導方針。

  • 建議定義關鍵路徑以確保敏感模組達到 100% 覆蓋率,同時為變動較少的組件維持彈性門檻。

  • 適合採用持續整合的團隊,這些團隊需要一種「守門員」機制來維護高品質程式碼,確保測試優先開發成為不可妥協的標準。

倉庫統計

Star 數
124
Fork 數
18
Open Issue 數
1
主要語言
TypeScript
預設分支
main
同步狀態
閒置
最近同步時間
2026年4月29日 下午02:11
在 GitHub 查看