TDD Implementation Plan
このスキルは、実装計画をTDD(テスト駆動開発)の原則に従って構成します。
Core Principle
1テスト → 1実装の細粒度サイクル
各テストファイルを書いたら、すぐにそのテストを通す実装を書く。
全テストをまとめて書いてから全実装を書くのではない。
Plan Structure (Fine-Grained TDD Cycles)
✅ Correct: 細粒度サイクル
| Step |
Phase |
Content |
| 1 |
RED |
test_feature_a.py - 失敗するテスト |
| 2 |
GREEN |
feature_a.py - テストを通す実装 |
| 3 |
RED |
test_feature_b.py - 失敗するテスト |
| 4 |
GREEN |
feature_b.py - テストを通す実装 |
| ... |
... |
... |
| N |
REFACTOR |
Cleanup, import更新, 旧ファイル削除 |
❌ Wrong: 大粒度(避けるべき)
| Step |
Content |
Problem |
| 1 |
全テストファイル |
サイクルが大きすぎる |
| 2 |
全実装ファイル |
フィードバックが遅い |
Plan Template
# Plan: [Feature Name]
## 概要
[このプランで達成すること]
---
## TDD実装ステップ(細粒度)
### Step 1: テスト - FeatureA
**作成**: `tests/unit/feature_a/test_feature_a.py`
**テスト観点**:
- 正常系: 有効な入力で期待する結果が返る
- 異常系: 無効な入力でエラーが発生する
- 境界値: 空文字、最大長など
**確認**: `pytest tests/unit/feature_a/test_feature_a.py -v`
**期待結果**: ModuleNotFoundError で失敗(RED)
---
### Step 2: 実装 - FeatureA
**作成**: `src/feature_a/feature_a.py`
- 内容の説明
**確認**: `pytest tests/unit/feature_a/test_feature_a.py -v`
**期待結果**: 全テスト成功(GREEN)
---
### Step 3: テスト - FeatureB
...
### Step 4: 実装 - FeatureB
...
### Step N: Cleanup / Refactor
**削除/修正**: 旧ファイル、import更新など
**確認**: `pytest tests/unit/ -v`
**期待結果**: 全テスト成功
Checklist Before Completing Plan
Notes
- 依存関係がある場合は、依存される側を先に実装
- 各ステップは独立して実行・検証可能に
- ステップ数が多くなっても、細粒度を維持する