Practicing TDD
テスト駆動開発(TDD)のベストプラクティスに従った開発フローを管理するスキル。
いつ使うか
- •プロジェクト(プロダクト、アプリ、サイト等)の開発時
- •新機能実装時
- •バグ修正時
- •ユーザーがTDD、テスト駆動開発について言及した時
基本原則
Red-Green-Refactor サイクル
code
1. Red → テストを書いて失敗させる 2. Green → テストを通す最小限のコード 3. Refactor → コードを整理整頓 4. 繰り返し
開発手順
ステップ1: ToDo リスト作成
やるべきことを箇条書きで整理(テストリスト)
ステップ2: Red(レッド)
- •ToDo リストから1つピックアップ
- •テストから書く(テストファースト)
- •テストを実行して失敗させる
ステップ3: Green(グリーン)
- •失敗しているテストを成功させることに集中
- •最小限のコードを書く(綺麗より動作優先)
- •全てのテストが成功することを確認
ステップ4: Refactor(リファクタリング)
- •全てのテストが成功している状態で整理整頓
- •テストは通ったままにする
- •実装コード、テストコード両方をリファクタリング
ステップ5: 繰り返し
- •気付きを ToDo リストに反映
- •次の ToDo を選んで Red に戻る
品質基準
テスト配置
- •テストコードは
src/__tests__/または実装ファイルと同階層の*.test.ts(x)に配置 - •
pnpm testで必ず全スイートを実行
カバレッジ基準
- •コードカバレッジは常に 80% 以上 を維持
- •CI で閾値を下回った場合はジョブを fail させる
バグ修正フロー
- •再現テスト(Red)を書く
- •修正(Green)
- •リファクタリング(Refactor)
品質ゲート
テスト追加・変更後は必ず実行:
bash
pnpm run lint && pnpm run typecheck
参考記事
詳細は references.md を参照。
注意事項
- •テストを書かずに実装を進めない
- •複数の機能を同時に実装しない(1つずつ)
- •テストが失敗したままリファクタリングしない
- •カバレッジ80%未満でコミットしない