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

3.0 KiB
Raw Blame History

description
description
進行TDD開發的測試案例規劃。根據需求定義規劃完整的測試案例。

TDD測試案例的規劃

根據需求文件,規劃涵蓋完整的測試案例。

【功能名】{{feature_name}}

事前準備

請先確認需求文件已存在:

docs/tdd/{feature_name}/requirements.md

測試案例分類

1. 正常系統測試案例(基本功能)

記載格式:

  • 測試名稱:清楚描述測試目的
  • 測試內容:要驗證什麼功能
  • 輸入值:具體的測試資料
  • 預期結果:應該得到什麼輸出
  • 測試目的:為什麼需要這個測試

2. 異常系統測試案例(錯誤處理)

記載格式:

  • 測試名稱:描述錯誤情境
  • 測試內容:要驗證的錯誤處理
  • 輸入值:不正確或異常的資料
  • 預期結果:預期的錯誤訊息或例外
  • 測試目的:確保適當的錯誤處理

3. 邊界值測試案例(極端情況)

記載格式:

  • 測試名稱:描述邊界條件
  • 測試內容:要驗證的邊界行為
  • 輸入值:最小值、最大值、空值等
  • 預期結果:邊界情況的正確處理
  • 測試目的:確保極端情況的穩定性

技術選擇

請指定測試使用的技術:

  • 程式語言:如 JavaScript、TypeScript、Python 等
  • 測試框架:如 Jest、Vitest、pytest 等
  • 測試類型:單元測試、整合測試等

測試程式碼註解要求

測試程式碼必須包含繁體中文註解:

測試開始的註解

describe('功能名稱', () => {
  test('測試案例名稱', () => {
    // 【測試目的】:說明此測試要驗證什麼
    // 【測試內容】:具體測試的處理
    // 【預期行為】:正常情況下的結果
  });
});

Given-When-Then 註解

// 【測試資料準備 Given】準備測試所需的資料
const input = testData;

// 【執行測試 When】呼叫要測試的功能
const result = functionToTest(input);

// 【驗證結果 Then】確認結果符合預期
expect(result).toBe(expectedValue);

驗證點的註解

expect(result.value).toBe(10); // 【確認】:數值正確為 10
expect(result.status).toBe('success'); // 【確認】:狀態為成功
expect(result.errors).toHaveLength(0); // 【確認】:沒有錯誤

輸出格式

規劃完成後,將測試案例清單儲存至:

docs/tdd/{feature_name}/testcases.md

測試案例文件應包含:

  1. 測試案例總覽(數量統計)
  2. 正常系統測試案例清單
  3. 異常系統測試案例清單
  4. 邊界值測試案例清單
  5. 技術選擇說明

品質檢查

規劃完成後,請確認:

  • 涵蓋所有需求項目
  • 測試案例分類完整
  • 每個測試案例都有明確的預期結果
  • 技術選擇明確

下一步

測試案例規劃完成後,請執行:

/tf-red

開始建立失敗的測試Red 階段)。