mcpField
T
tdd

tdd

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

tdd について

tddは、振る舞いごとに実装と検証を進めるテスト駆動開発のスキルです。本番コードより先に失敗するテストを書き、最小限の実装、検証、リファクタリングを行います。

主な機能

  1. 01厳密なRED-GREEN-REFACTORサイクル
  2. 02失敗するテストを1つ先に作成
  3. 03失敗理由が想定どおりか検証
  4. 04実装後にテスト全体を実行
  5. 05複数スタックのテストコマンド

活用シーン

  1. 01振る舞い単位で機能実装を進める
  2. 02テストが意図した動作を確認するか検証
  3. 03テストを通したままリファクタリング

インストール

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

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

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
anti-patterns.md
red-green-refactor.md
stack-commands.md

詳細

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 つ以上のテストを書いてはならない
  • 現在のテストが要求する以上の機能を追加してはならない

コメント