Files
gh-cashwu-claude-code-tdd-m…/commands/tf-verify.md
2025-11-29 18:03:45 +08:00

220 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: 驗證TDD開發的完整性。確認所有測試案例都已實作且通過。
---
# TDD 開發完整性驗證
驗證TDD開發是否完整確保所有規劃的測試案例都已實作並通過。
**【功能名】**{{feature_name}}
## 驗證目的
確認:
1. 所有規劃的測試案例都已實作
2. 所有測試都通過
3. 功能開發完整
## 驗證檔案
需要檢查的文件:
```
docs/tdd/{feature_name}/requirements.md
docs/tdd/{feature_name}/testcases.md
docs/tdd/{feature_name}/memo.md
```
需要檢查的程式碼:
- 測試檔案(如 `__tests__/*.test.js`
- 實作檔案(如 `src/*.js`
## 驗證步驟
### 1. 執行所有測試
```bash
npm test
```
確認:
- ✅ 所有測試都通過
- ✅ 沒有被跳過的測試
- ✅ 測試覆蓋率合理
### 2. 比對測試案例清單
`testcases.md` 讀取規劃的測試案例,檢查:
- 規劃了幾個測試案例
- 實際實作了幾個
- 哪些測試案例尚未實作
### 3. 檢查需求覆蓋
`requirements.md` 檢查:
- 所有輸入參數都有測試
- 所有輸出格式都有驗證
- 錯誤處理都有測試
- 邊界條件都有涵蓋
## 驗證報告格式
```markdown
# {feature_name} TDD 開發完整性驗證報告
## 測試執行結果
- 測試總數:{數量}
- 通過:{數量}
- 失敗:{數量}
- 跳過:{數量}
- 成功率:{百分比}%
## 測試案例實作狀況
### 規劃的測試案例
- 正常系統:{數量} 個
- 異常系統:{數量} 個
- 邊界值:{數量} 個
- 總計:{數量} 個
### 已實作的測試案例
- 正常系統:{數量} 個
- 異常系統:{數量} 個
- 邊界值:{數量} 個
- 總計:{數量} 個
### 實作率
- 整體實作率:{百分比}%
## 需求覆蓋狀況
### 已覆蓋的需求
- {需求項目 1}:✅ 已測試
- {需求項目 2}:✅ 已測試
...
### 未覆蓋的需求
- {需求項目 X}:❌ 尚未測試
...
## 完整性判定
{✅ 完整 / ⚠️ 不完整}
### 判定理由
{說明為什麼判定為完整或不完整}
## 建議
{如果不完整,列出建議的改善項目}
```
## 更新 memo.md
在 memo.md 中加入驗證結果:
```markdown
## 完整性驗證
### 日期
{當前日期時間}
### 驗證結果
{完整 / 不完整}
### 測試統計
- 測試總數:{數量}
- 成功率:{百分比}%
- 實作率:{百分比}%
### 需求覆蓋
- 已覆蓋:{數量} 項
- 未覆蓋:{數量} 項
### 結論
{總結開發成果}
### 後續建議
{如有需要,列出後續改善項目}
```
## 判定基準
### ✅ 完整(開發完成)
滿足所有條件:
- 所有測試都通過100%
- 實作率達 100%(或合理說明未實作的原因)
- 需求覆蓋率達 100%
- 程式碼品質良好
### ⚠️ 不完整(需要繼續開發)
有以下任一情況:
- 有測試失敗
- 重要測試案例未實作
- 重要需求未覆蓋
- 程式碼品質有明顯問題
## 驗證完成後的行動
### 如果驗證通過(完整)
1. 在 memo.md 中標記為完成
2. 整理開發記錄
3. 結束此功能的 TDD 開發
### 如果驗證未通過(不完整)
1. 在 memo.md 中記錄缺失項目
2. 返回相應階段補充:
- 缺測試案例 → 返回 `/tf-red`
- 測試未通過 → 返回 `/tf-green`
- 程式碼品質 → 返回 `/tf-refactor`
## 輸出範例
### 完整的情況
```
✅ TDD 開發完整性驗證:通過
📊 測試統計
- 測試總數15 個
- 全部通過
- 成功率100%
- 實作率100%
📋 需求覆蓋
- 全部需求項目都已測試
- 覆蓋率100%
🎉 功能開發完成!
```
### 不完整的情況
```
⚠️ TDD 開發完整性驗證:未通過
📊 測試統計
- 測試總數12 個
- 通過10 個
- 失敗2 個
- 成功率83.3%
- 實作率80%
❌ 未實作的測試案例
1. 邊界值測試:空陣列的處理
2. 錯誤測試:無效輸入的錯誤訊息
3. 邊界值測試:最大值超過限制
📝 建議
請返回 Red 階段,補充缺失的測試案例。
```
## 下一步
驗證完成後:
- 如果完整:功能開發結束,可以開始下一個功能
- 如果不完整:根據驗證報告返回相應階段繼續開發