一键导入
tdd
TDD(Test-Driven Development)最佳實踐指南。當需要撰寫測試、實踐 TDD、設計測試結構、或討論測試策略時使用。也應在用戶要建置新專案、開發新功能、或寫程式練習時主動套用,確保開發流程從一開始就遵循 Red-Green-Refactor 循環,而非事後補測試。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
TDD(Test-Driven Development)最佳實踐指南。當需要撰寫測試、實踐 TDD、設計測試結構、或討論測試策略時使用。也應在用戶要建置新專案、開發新功能、或寫程式練習時主動套用,確保開發流程從一開始就遵循 Red-Green-Refactor 循環,而非事後補測試。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Zod v4 schema validation 最佳實踐指南。當需要定義 schema、驗證/解析 JSON 資料、type inference、或處理 unknown data 時使用。
Svelte 5 + Astro 整合最佳實踐指南。當需要建立 Svelte 元件、使用 runes API、整合 Astro islands、或用 Testing Library 測試 Svelte 元件時使用。
GitHub GraphQL API 最佳實踐指南。當需要使用 GraphQL 查詢使用者資料、處理 cursor pagination、計算 rate limit、或除錯 GraphQL errors 時使用。
gayanvoice/top-github-users 架構參考指南。當需要了解 GitHub 使用者排行榜的資料抓取管線、國家設定、排行計算邏輯、已知問題、或社群需求時使用。
Commander.js v14 CLI 框架最佳實踐。當需要建立 CLI 工具、解析命令列參數、設計 subcommands 時使用。
GitHub Actions CI/CD 最佳實踐指南。當需要設定 workflow、cron 排程、GitHub Pages 部署、使用 Octokit API、或處理 rate limiting 時使用。
| name | tdd |
| description | TDD(Test-Driven Development)最佳實踐指南。當需要撰寫測試、實踐 TDD、設計測試結構、或討論測試策略時使用。也應在用戶要建置新專案、開發新功能、或寫程式練習時主動套用,確保開發流程從一開始就遵循 Red-Green-Refactor 循環,而非事後補測試。 |
Kent Beck 在 2025 正式定義 Canon TDD:
Green 步驟的簡單到複雜排序,優先用上面的:
{} → nilnil → constantconstant → constant+constant → scalar(變數/參數)statement → statementsunconditional → ifscalar → arrayarray → containerstatement → recursionif → whileexpression → function如果需要跳到複雜轉換 → 你選錯了下一個測試,重新排序測試清單。
兩者是互補工具,不是競爭哲學:
it('calculates total with tax', () => {
// Arrange
const cart = new Cart([{ price: 100 }, { price: 200 }]);
// Act
const total = cart.totalWithTax(0.1);
// Assert
expect(total).toBe(330);
});
語意相同,使用領域語言:
it('given items in cart, when calculating with 10% tax, then returns sum plus tax', () => {
// Given
const cart = new Cart([{ price: 100 }, { price: 200 }]);
// When
const total = cart.totalWithTax(0.1);
// Then
expect(total).toBe(330);
});
原則:每個測試一個動作、一個邏輯斷言(多個 expect 可以,只要驗證同一概念)。
Kent Beck 和 Simon Willison 都認為 TDD 是與 AI agent 協作的超能力:
時機:發現 code smell 立即處理,最遲不超過 3 個 baby-step。
| Anti-Pattern | 說明 |
|---|---|
| The Liar | 測試通過但沒測到該測的 |
| Excessive Setup | 巨大的 Arrange 代表太多依賴(設計問題) |
| The Giant | 一個測試太多斷言 |
| The Slow Poke | 測試太慢導致開發者不跑 |
| Testing Implementation | 耦合內部結構而非可觀察行為 |
| No Refactoring | 跳過 refactor 步驟 |
| 100% Coverage Obsession | 追求 100% 而非有意義的 70-80% |
| No Test List | 沒有先規劃場景就直接寫 |
在 GitStar 專案中: