mcpField
T
tdd

tdd

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

tdd について

AIエージェントやLLM向けのテスト駆動開発ガイドです。レッド・グリーン・リファクタリングのサイクルに加え、テスト設計、分離、データ、信頼性の実践を扱います。優先度付きのルールでテストの作成、レビュー、リファクタリングを支援します。

主な機能

  1. 018カテゴリにわたる42のルール
  2. 02レッド・グリーン・リファクタリングのワークフロー
  3. 03振る舞いを重視したテスト設計
  4. 04テスト分離とデータの実践
  5. 05信頼性とテスト戦略の指針

活用シーン

  1. 01実装前のテスト作成
  2. 02振る舞いに沿ったテスト構成
  3. 03分離された決定論的なテストの作成
  4. 04既存テストのレビューや改修

インストール

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

$npx skills add https://github.com/pproenca/dot-skills --skill tdd

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

同梱ファイル

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

AGENTS.md
metadata.json
README.md
assets/templates/
_template.md
references/
_sections.md
assert-custom-matchers.md
assert-error-messages.md
assert-no-assertions-antipattern.md
assert-snapshot-testing.md
assert-specific-assertions.md
cycle-maintain-test-list.md
cycle-minimal-code-to-pass.md
cycle-refactor-after-green.md
cycle-small-increments.md
cycle-verify-test-fails-first.md
cycle-write-test-first.md
data-avoid-mystery-guests.md
data-builder-pattern.md
data-minimal-setup.md
data-unique-identifiers.md
data-use-factories.md
design-aaa-pattern.md
design-avoid-logic-in-tests.md
design-descriptive-test-names.md
design-one-assertion-per-test.md
design-test-behavior-not-implementation.md
design-test-edge-cases.md
isolate-deterministic-tests.md
isolate-mock-external-dependencies.md
isolate-no-shared-state.md

詳細

コミュニティのテスト駆動開発におけるベストプラクティス

AI エージェントと LLM 向けに設計された、テスト駆動開発の実践に関する包括的なガイドです。8 つのカテゴリにわたる 42 のルールを、テストの作成、リファクタリング、コード生成の指針となるよう、影響度順に掲載しています。

適用するタイミング

次の作業を行う際に、これらのガイドラインを参照してください。

  • TDD のワークフローを使用して新しいテストを作成する
  • レッド・グリーン・リファクタリングのサイクルを実践する
  • テストの構造と整理方法を設計する
  • テストデータとフィクスチャを作成する
  • 既存のテストスイートをレビューまたはリファクタリングする

TDD ワークフロー

  1. RED:期待する動作を定義する、失敗するテストを書きます
  2. GREEN:テストに合格するために必要な最小限のコードを書きます
  3. REFACTOR:テストを通したままコードを整理します
  4. 新しい動作を追加するたびに繰り返します

優先度別のルールカテゴリ

優先度カテゴリ影響度接頭辞
1レッド・グリーン・リファクタリングのサイクルCRITICALcycle-
2テスト設計の原則CRITICALdesign-
3テストの分離と依存関係HIGHisolate-
4テストデータの管理HIGHdata-
5アサーションと検証MEDIUMassert-
6テストの整理と構造MEDIUMorg-
7テストのパフォーマンスと信頼性MEDIUMperf-
8テストピラミッドと戦略LOWstrat-

クイックリファレンス

1. レッド・グリーン・リファクタリングのサイクル(CRITICAL)
  • cycle-write-test-first - 実装の前にテストを書く
  • cycle-minimal-code-to-pass - テストに合格するために必要なコードだけを書く
  • cycle-refactor-after-green - グリーンになった直後にリファクタリングする
  • cycle-verify-test-fails-first - コードを書く前にテストが失敗することを確認する
  • cycle-small-increments - 小さなステップで段階的に進める
  • cycle-maintain-test-list - テストリストを維持する
2. テスト設計の原則(CRITICAL)
  • design-test-behavior-not-implementation - 実装ではなく動作をテストする
  • design-one-assertion-per-test - 1 つのテストにつき、論理的なアサーションを 1 つにする
  • design-descriptive-test-names - 内容がわかるテスト名を付ける
  • design-aaa-pattern - アレンジ・アクト・アサートのパターンに従う
  • design-test-edge-cases - エッジケースと境界値をテストする
  • design-avoid-logic-in-tests - テスト内のロジックを避ける
3. テストの分離と依存関係(HIGH)
  • isolate-mock-external-dependencies - 外部依存関係をモックする
  • isolate-no-shared-state - テスト間で変更可能な状態を共有しない
  • isolate-deterministic-tests - 決定的なテストを書く
  • isolate-prefer-stubs-over-mocks - クエリにはモックよりスタブを優先する
  • isolate-use-dependency-injection - テストしやすくするために依存性注入を使用する
4. テストデータの管理(HIGH)
  • data-use-factories - テストデータの作成にファクトリを使用する
  • data-minimal-setup - テストのセットアップを最小限にする
  • data-avoid-mystery-guests - 正体不明のデータを避ける
  • data-unique-identifiers - テストごとに一意の識別子を使用する
  • data-builder-pattern - 複雑なオブジェクトにはビルダーパターンを使用する
5. アサーションと検証(MEDIUM)
  • assert-specific-assertions - 具体的なアサーションを使用する
  • assert-error-messages - エラーメッセージとエラーの種類を検証する
  • assert-no-assertions-antipattern - すべてのテストにアサーションを含める
  • assert-custom-matchers - ドメイン固有のアサーションにはカスタムマッチャーを作成する
  • assert-snapshot-testing - スナップショットテストは慎重に使用する
6. テストの整理と構造(MEDIUM)
  • org-group-by-behavior - メソッドではなく動作ごとにテストをまとめる
  • org-file-structure - 一貫したテストファイルの構成に従う
  • org-setup-teardown - セットアップとティアダウンのフックを適切に使用する
  • org-test-utilities - 再利用可能なテストユーティリティを抽出する
  • org-parameterized-tests - バリエーションにはパラメーター化テストを使用する
7. テストのパフォーマンスと信頼性(MEDIUM)
  • perf-fast-unit-tests - ユニットテストを 100ms 未満に保つ
  • perf-avoid-network-calls - ユニットテストでのネットワーク呼び出しをなくす
  • perf-fix-flaky-tests - 不安定なテストはすぐに修正する
  • perf-parallelize-tests - 独立したテストを並列化する
  • perf-avoid-sleep - 根拠のないスリープ呼び出しを避ける
8. テストピラミッドと戦略(優先度:低)
  • strat-test-pyramid - テストピラミッドに従います
  • strat-mutation-testing - ミューテーションテストを使用してテストの品質を検証します
  • strat-coverage-targets - 意味のあるカバレッジ目標を設定します
  • strat-integration-boundaries - サービス境界で統合テストを実施します
  • strat-e2e-critical-paths - E2E テストを重要なユーザーパスに限定します

使用方法

詳しい説明とコード例については、各リファレンスファイルを参照してください。

関連スキル

  • Vitest フレームワークの詳細については、vitest スキルを参照してください
  • MSW を使用した API のモックについては、msw スキルを参照してください

完全版ドキュメント

すべてのルールを展開した完全なガイドについては、AGENTS.md を参照してください

コメント