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