test-driven-development
掌握測試驅動開發工作流程
也可從以下取得: ZhanlinCui,DMJGilbert,Cycleaddict,davila7,DYAI2025,CodingCossack,Cygnusfear,obra
在程式碼完成後才撰寫測試無法證明它們實際上測試了任何內容。此技能強制執行 Red-Green-Refactor 循環,每個測試必須在實作前失敗,確保測試驗證真實行為。
下載技能 ZIP
在 Claude 中上傳
前往 設定 → 功能 → 技能 → 上傳技能
開啟並開始使用
測試它
正在使用「test-driven-development」。 實作一個重試失敗操作 3 次的函式
預期結果:
- Step 1 (RED): 撰寫測試 'retries failed operations 3 times'
- Step 2: 執行測試 - 驗證它失敗,因為重試邏輯不存在
- Step 3 (GREEN): 實作最小的重試循環
- Step 4: 執行測試 - 驗證它通過
- Step 5 (REFACTOR): 如有需要提取重試邏輯
正在使用「test-driven-development」。 錯誤:表單接受空電子郵件
預期結果:
- RED: test('rejects empty email') - 預期錯誤 'Email required'
- Verify: 測試失敗 - 表單目前接受空電子郵件
- GREEN: 新增空電子郵件驗證檢查
- Verify: 測試通過,無回歸
- Result: 錯誤已修正並有測試防止回歸
安全審計
安全This skill contains only markdown documentation explaining test-driven development methodology. All 57 static analyzer findings for external_commands are false positives - the detected backticks are markdown code fences (```) used for syntax highlighting, not Ruby shell execution. The 6 cryptographic algorithm findings and reconnaissance detections are also false positives from pattern matching on documentation text. No executable code, network calls, or filesystem operations exist in this skill.
品質評分
你能建構什麼
新功能開發
實作新功能時使用 TDD,確保每個函式在提交前都有對應的測試證明正確行為
錯誤修正與回歸預防
先撰寫一個重現錯誤的失敗測試,然後實作修正,確保錯誤不會回歸
有信心的重構
使用現有測試套件驗證程式碼重組或最佳化期間行為保持不變
試試這些提示
我需要實作 [feature]。協助我先撰寫一個描述預期行為的失敗測試,然後引導我完成 Red-Green-Refactor。
錯誤:[describe bug]。協助我撰寫一個重現此錯誤的測試(應該失敗),然後實作最小的修正使其通過。
審查我為 [function] 撰寫的測試。它測試真實行為還是模擬行為?測試名稱是否清晰?是否只測試一件事?
我準備 [action]。檢查這是否違反 TDD 原則。我是否在測試模擬行為?新增僅用於測試的程式碼?在不理解的情況下使用模擬?
最佳實務
- 在實作前務必觀察測試失敗 - 這證明測試實際上測試了某些內容
- 撰寫最少的程式碼以通過測試 - 不要額外功能,不要過度設計
- 如果你跳過 TDD 循環,刪除實作程式碼並重新從測試開始
避免
- 在測試存在前撰寫實作程式碼
- 測試模擬行為而非真實程式碼行為
- 新增僅用於測試的方法到生產類別