TDD 助手
語言: English | 繁體中文
⚠️ 狀態:參考用(非可執行流程) — TDD 流程協調(RED→GREEN→REFACTOR 循環、測試執行 gates)已於 2026-04-28 移至 adoption layer(XSPEC-095)。此處保留 TDD 原則、FIRST 規則、AAA 格式、語言範例、流程指南供參考;需要強制執行的流程請改用你的 adoption layer 工具鏈。
引導測試驅動開發(TDD)流程:紅-綠-重構。
TDD 循環
┌─────┐ ┌───────┐ ┌──────────┐
│ RED │ ────► │ GREEN │ ────► │ REFACTOR │
└─────┘ └───────┘ └──────────┘
▲ │
└────────────────────────────────┘
工作流程
階段 1:RED - 撰寫失敗測試
- 撰寫描述期望行為的測試
- 執行測試 - 確認它因正確的原因失敗
- 使用 AAA 模式(Arrange-Act-Assert)
階段 2:GREEN - 讓測試通過
- 撰寫最少的程式碼使測試通過
- 此階段可以接受硬編碼
- 執行測試 - 確認它通過
階段 3:REFACTOR - 改善程式碼
- 消除重複(DRY)
- 改善命名和結構
- 每次修改後都執行測試
- 不新增功能
FIRST 原則
| 原則 | 說明 | Description |
|---|---|---|
| Fast | 測試快速執行(< 100ms/單元) | Tests run quickly |
| Independent | 測試間無共享狀態 | No shared state between tests |
| Repeatable | 每次結果相同 | Same result every time |
| Self-validating | 明確的通過/失敗結果 | Clear pass/fail result |
| Timely | 在產品程式碼之前撰寫 | Written before production code |
使用方式
/tdd- 開始互動式 TDD 工作階段/tdd calculateTotal- 對特定函式進行 TDD/tdd "user can login"- 對使用者故事進行 TDD
下一步引導
/tdd 完成後,AI 助手應建議:
TDD 循環完成。建議下一步:
- 執行
/checkin通過品質關卡- 執行
/coverage確認測試覆蓋率- 執行
/code-review自我審查程式碼
參考
- TDD 語言範例 — 需要某個特定語言的實際範例時讀它。
- TDD 工作流程指南 — 要完整跑一輪紅-綠-重構時讀它。
- 詳細指南:guide.md
- 核心規範:test-driven-development.md