| name | tdd-workflow |
| description | TDD(テスト駆動開発)のワークフローをガイドする。 Red → Green → Refactor のサイクルに従って開発を進める。 「TDDで実装」「テスト駆動」などのキーワードで自動適用。 |
TDD Workflow Skill
テスト駆動開発(TDD)の原則に従って開発を進めるためのガイダンスを提供します。
TDDサイクル
1. Red Phase(失敗するテストを書く)
- 実装したい機能の最小単位を特定
- 失敗するテストを先に書く
- テストは明確で情報量の多い失敗メッセージを出すべき
def test_機能名_期待する動作():
# given
前提条件の設定
# when
result = テスト対象の実行()
# then
assert 期待する結果
2. Green Phase(最小限の実装)
- テストを通すための最小限のコードを書く
- 完璧な実装を目指さない
- "Fake it till you make it"
3. Refactor Phase(リファクタリング)
- テストが通っている状態でのみリファクタリング
- 重複を排除
- コードの意図を明確にする
- 構造的変更と振る舞い変更を分離
コミット規約
- [RED]: 失敗するテストの追加
- [GREEN]: テストを通すための最小実装
- [REFACTOR]: テストが通った状態でのコード改善
- [STRUCTURAL]: 振る舞いを変えない構造変更
- [BEHAVIORAL]: 機能追加・変更
ベストプラクティス
- 小さく始める: 一度に一つのテストだけ
- 頻繁にコミット: 各フェーズでコミット
- テストを信頼する: テストが通れば次へ進む
- リファクタリングを怠らない: 技術的負債を避ける
アンチパターン
- テストなしでコードを書く
- 複数のテストを一度に書く
- テストが失敗した状態でリファクタリング
- 構造変更と振る舞い変更を混ぜる