mcpField
T
tdd-workflow

tdd-workflow

github.com/davila7テスト・品質33.0k290 回インストール今日更新
リポジトリ

tdd-workflow について

TDD Workflowは、開発者やコーディングエージェント向けのスキルで、RED、GREEN、REFACTORのサイクルによるテスト駆動開発を案内します。テストの構成や優先順位付け、AIマルチエージェントでの分担も扱います。

主な機能

  1. 01RED-GREEN-REFACTORサイクル
  2. 02各TDDフェーズの指針
  3. 03Arrange-Act-Assertのテスト構成
  4. 04テストの優先順位付け
  5. 05AIマルチエージェントのワークフロー

活用シーン

  1. 01テストを先に書いて機能を開発
  2. 02失敗するテストでバグを再現
  3. 03段階的なリファクタリングの指針
  4. 04複数エージェントへのTDD工程の分担

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davila7/claude-code-templates --skill tdd-workflow

インストール後、Claude Code で/tdd-workflowを入力して読み込まれたか確認します。

詳細

TDD ワークフロー

まずテストを書き、次にコードを書く。


1. TDD のサイクル

🔴 RED → Write failing test
    ↓
🟢 GREEN → Write minimal code to pass
    ↓
🔵 REFACTOR → Improve code quality
    ↓
   Repeat...

2. TDD の三つの法則

  1. 失敗しているテストを通すためにだけ、プロダクションコードを書く
  2. 失敗を示すのに十分なだけテストを書く
  3. テストを通すのに十分なだけコードを書く

3. RED フェーズの原則

何を書くか
観点例
振る舞い「2 つの数値を加算できること」
エッジケース「空の入力を扱えること」
エラー状態「不正なデータに対して例外を投げること」
RED フェーズのルール
  • テストは最初に失敗しなければならない
  • テスト名は期待される振る舞いを説明する
  • 1 テストにつきアサーションは 1 つ(可能な限り)

4. GREEN フェーズの原則

最小限のコード
原則意味
YAGNI必要になるとは限らない機能は作らない
最も単純な方法テストを通す最小限のものを書く
最適化しないまずは動くようにする
GREEN フェーズのルール
  • 不要なコードは書かない
  • まだ最適化しない
  • テストを通すこと以外はしない

5. REFACTOR フェーズの原則

改善対象
領域対応
重複共通コードを抽出する
命名意図が明確になるようにする
構造構成を改善する
複雑さロジックを単純化する
REFACTOR のルール
  • すべてのテストがグリーンのままであること
  • 小さく段階的に変更する
  • リファクタリングのたびにコミットする

6. AAA パターン

すべてのテストは次に従います:

ステップ目的
Arrangeテストデータをセットアップする
Actテスト対象のコードを実行する
Assert期待される結果を検証する

7. TDD を使うべきとき

シナリオTDD の価値
新機能高
バグ修正高(先にテストを書く)
複雑なロジック高
探索的な作業低(スパイクを行い、その後 TDD)
UI レイアウト低

8. テストの優先順位

優先度テストの種類
1正常系
2エラーケース
3エッジケース
4パフォーマンス

9. アンチパターン

❌ やめること✅ 推奨
RED フェーズを飛ばす最初にテストが失敗するのを確認する
後からテストを書く先にテストを書く
最初から過剰設計するシンプルに保つ
1 テストに複数のアサーション1 テストにつき 1 つの振る舞い
実装をテストする振る舞いをテストする

10. AI を活用した TDD

マルチエージェントパターン
エージェント役割
エージェント A失敗するテストを書く(RED)
エージェント Bテストを通すように実装する(GREEN)
エージェント C最適化する(REFACTOR)

覚えておくこと: テストは仕様である。テストが書けないなら、要件を理解していないということです。

コメント