mirror of
https://github.com/sweetwisdom/everything-claude-code-zh.git
synced 2026-03-22 06:20:10 +00:00
2.8 KiB
2.8 KiB
description
| description |
|---|
| Enforce test-driven development workflow. Scaffold interfaces, generate tests FIRST, then implement minimal code to pass. Ensure 80%+ coverage. |
TDD 指令
此指令呼叫 tdd-guide Agent 來強制執行測試驅動開發方法論。
此指令的功能
- 建立介面骨架 - 先定義類型/介面
- 先產生測試 - 撰寫失敗的測試(RED)
- 實作最小程式碼 - 撰寫剛好足以通過的程式碼(GREEN)
- 重構 - 在測試保持綠色的同時改進程式碼(REFACTOR)
- 驗證覆蓋率 - 確保 80% 以上測試覆蓋率
何時使用
在以下情況使用 /tdd:
- 實作新功能
- 新增新函式/元件
- 修復 Bug(先撰寫重現 bug 的測試)
- 重構現有程式碼
- 建構關鍵商業邏輯
運作方式
tdd-guide Agent 會:
- 定義介面用於輸入/輸出
- 撰寫會失敗的測試(因為程式碼還不存在)
- 執行測試並驗證它們因正確的原因失敗
- 撰寫最小實作使測試通過
- 執行測試並驗證它們通過
- 重構程式碼,同時保持測試通過
- 檢查覆蓋率,如果低於 80% 則新增更多測試
TDD 循環
RED → GREEN → REFACTOR → REPEAT
RED: 撰寫失敗的測試
GREEN: 撰寫最小程式碼使其通過
REFACTOR: 改進程式碼,保持測試通過
REPEAT: 下一個功能/情境
TDD 最佳實務
應該做:
- ✅ 在任何實作前先撰寫測試
- ✅ 在實作前執行測試並驗證它們失敗
- ✅ 撰寫最小程式碼使測試通過
- ✅ 只在測試通過後才重構
- ✅ 新增邊界情況和錯誤情境
- ✅ 目標 80% 以上覆蓋率(關鍵程式碼 100%)
不應該做:
- ❌ 在測試之前撰寫實作
- ❌ 跳過每次變更後執行測試
- ❌ 一次撰寫太多程式碼
- ❌ 忽略失敗的測試
- ❌ 測試實作細節(測試行為)
- ❌ Mock 所有東西(優先使用整合測試)
覆蓋率要求
- 所有程式碼至少 80%
- 以下類型需要 100%:
- 財務計算
- 驗證邏輯
- 安全關鍵程式碼
- 核心商業邏輯
重要提醒
強制要求:測試必須在實作之前撰寫。TDD 循環是:
- RED - 撰寫失敗的測試
- GREEN - 實作使其通過
- REFACTOR - 改進程式碼
絕不跳過 RED 階段。絕不在測試之前撰寫程式碼。
與其他指令的整合
- 先使用
/plan理解要建構什麼 - 使用
/tdd帶著測試實作 - 如果發生建置錯誤,使用
/build-fix - 使用
/code-review審查實作 - 使用
/test-coverage驗證覆蓋率
相關 Agent
此指令呼叫位於以下位置的 tdd-guide Agent:
~/.claude/agents/tdd-guide.md
並可參考位於以下位置的 tdd-workflow 技能:
~/.claude/skills/tdd-workflow/