mcpField
T
tdd

tdd

github.com/fusengineテスト・品質3440 回インストール2 週間前に更新
リポジトリ

tdd について

tddは、プロダクションコードより先に失敗するテストを書くことを求め、各段階を検証しながらRED-GREEN-REFACTORで進める開発skillです。テスト駆動開発を行うエージェントや開発者を対象としています。

主な機能

  1. 01技術スタックとテストフレームワークの特定
  2. 02失敗するテストを一度に一つ作成
  3. 03失敗理由が想定どおりか確認
  4. 04通過に必要な最小限のコードを実装
  5. 05テストスイート全体を実行
  6. 06テストを通したままリファクタリング

活用シーン

  1. 01テスト単位で機能を段階的に開発
  2. 02初回実行で通るテストの調査
  3. 03未テストのプロダクションコード変更の防止

インストール

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

$npx skills add https://github.com/fusengine/claude-plugins --skill tdd

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

詳細

TDD は Iron Law——失敗するテストなしにプロダクションコードを書かない——を、厳格な RED-GREEN-REFACTOR ループを通じて徹底します。すなわち、スタックとテストフレームワークを検出し、次の振る舞いに対する失敗するテストを 1 つ書き、それが*期待される*理由(構文エラーやフィクスチャの欠落ではなく)で失敗することを確認し、それを通す最小限のコードを書き、スイート全体がグリーンであることを確認し、グリーンを保ったままリファクタリングし、次の振る舞いのために繰り返します。

VERIFY ステップを飛ばすことは決してありません——初回実行でパスするテストは何も証明せず、受け入れるのではなく調査しなければなりません。

TDD スキル

まずテストを書きます。それが失敗するのを見ます。通すために最小限のコードを書きます。

Iron Law

失敗するテストなしにプロダクションコードを書いてはならない。

プロダクションコードのすべての行は、それなしでは失敗するテストによって正当化されなければなりません。 例外はありません。近道もありません。「後でテストしよう」もありません。


エージェントのワークフロー

1. DETECT  -> Identify stack, test framework, existing test patterns
2. RED     -> Write ONE failing test for the next behavior
3. VERIFY  -> Run test, confirm it fails for the EXPECTED reason
   IF the test fails for a DIFFERENT reason (syntax error, wrong import, missing fixture) → fix the test itself and re-run. Do NOT proceed to GREEN until the failure matches the intended behavior.
4. GREEN   -> Write the SIMPLEST code that makes the test pass
5. VERIFY  -> Run tests, confirm ALL pass (new + existing)
6. REFACTOR -> Clean up while keeping all tests green
7. REPEAT  -> Next behavior = next failing test

重要: VERIFY ステップを決して飛ばさないでください。初回実行でパスするテストは何も証明しません。


RED-GREEN-REFACTOR サイクル

ルールと検証ステップを含む詳細なサイクルについては、references/red-green-refactor.md を参照してください。


リファレンスガイド

トピックリファレンス
RED-GREEN-REFACTOR サイクル全体red-green-refactor.md
よくある間違いと危険信号anti-patterns.md
スタックごとのテストコマンドstack-commands.md

クイックリファレンス: テストコマンド

スタックテストの実行ウォッチモード
React/Next.jsnpx vitest runnpx vitest
Laravelphp artisan testphp artisan test --watch
Swiftswift test-
汎用 TSbunx vitest runbunx vitest
Gogo test ./...-
Rustcargo testcargo watch -x test

禁止される行為

  • 失敗するテストより前にプロダクションコードを書いてはならない
  • VERIFY RED ステップを飛ばしてはならない
  • 初回実行でパスするテストを調査なしに受け入れてはならない
  • 直接テストできるものをモックしてはならない
  • RED フェーズで一度に 2 つ以上のテストを書いてはならない
  • 現在のテストが要求する以上の機能を追加してはならない

コメント