Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:03:45 +08:00
commit d62dfe79d1
9 changed files with 1140 additions and 0 deletions

219
commands/tf-verify.md Normal file
View File

@@ -0,0 +1,219 @@
---
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 階段,補充缺失的測試案例。
```
## 下一步
驗證完成後:
- 如果完整:功能開發結束,可以開始下一個功能
- 如果不完整:根據驗證報告返回相應階段繼續開發