tdd について
AI エージェントや開発者向けの TDD ガイドです。テスト作成、リファクタリング、コード生成を扱う、優先度付きの 42 ルールを収録しています。
主な機能
- 018 カテゴリー、計 42 ルール
- 02優先度付きの TDD 指針
- 03レッド・グリーン・リファクタリングの手順
- 04テスト設計と分離の実践
- 05テストデータとアサーションの指針
- 06性能とテスト戦略の助言
活用シーン
- 01実装前にテストを書く
- 02テストスイートのレビューやリファクタリング
- 03テストデータやフィクスチャの整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pymodel/ react-frontend-skills --skill tddインストール後、Claude Code で/tddを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/assert-custom-matchers.mdassert-error-messages.mdassert-no-assertions-antipattern.mdassert-snapshot-testing.mdassert-specific-assertions.mdcycle-maintain-test-list.mdcycle-minimal-code-to-pass.mdcycle-refactor-after-green.mdcycle-small-increments.mdcycle-verify-test-fails-first.mdcycle-write-test-first.mddata-avoid-mystery-guests.mddata-builder-pattern.mddata-minimal-setup.mddata-unique-identifiers.mddata-use-factories.mddesign-aaa-pattern.mddesign-avoid-logic-in-tests.mddesign-descriptive-test-names.mddesign-one-assertion-per-test.mddesign-test-behavior-not-implementation.mddesign-test-edge-cases.mdisolate-deterministic-tests.mdisolate-mock-external-dependencies.mdisolate-no-shared-state.mdisolate-prefer-stubs-over-mocks.mdisolate-use-dependency-injection.mdorg-file-structure.mdorg-group-by-behavior.mdorg-parameterized-tests.md詳細
コミュニティのテスト駆動開発のベストプラクティス
AI エージェントと LLM 向けに設計された、テスト駆動開発の実践に関する包括的なガイドです。8 つのカテゴリにわたる 42 のルールを、テストの作成、リファクタリング、コード生成を導く影響度順にまとめています。
適用する場面
次のような場合に、これらのガイドラインを参照してください。
- TDD ワークフローを使って新しいテストを作成する
- レッド・グリーン・リファクタリングのサイクルを実施する
- テストの構成や整理方法を設計する
- テストデータやフィクスチャを作成する
- 既存のテストスイートをレビューまたはリファクタリングする
TDD ワークフロー
- RED:望ましい動作を定義する、失敗するテストを書く
- GREEN:テストに合格するために必要最小限のコードを書く
- REFACTOR:テストをグリーンのまま保ち、コードを整理する
- 新しい動作ごとに繰り返す
優先度別のルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | レッド・グリーン・リファクタリングのサイクル | 重大 | cycle- |
| 2 | テスト設計の原則 | 重大 | design- |
| 3 | テストの分離と依存関係 | 高 | isolate- |
| 4 | テストデータ管理 | 高 | data- |
| 5 | アサーションと検証 | 中 | assert- |
| 6 | テストの整理と構成 | 中 | org- |
| 7 | テストのパフォーマンスと信頼性 | 中 | perf- |
| 8 | テストピラミッドと戦略 | 低 | strat- |
クイックリファレンス
1. レッド・グリーン・リファクタリングのサイクル(重大)
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. テスト設計の原則(重大)
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. テストの分離と依存関係(高)
isolate-mock-external-dependencies- 外部依存関係をモックするisolate-no-shared-state- テスト間で変更可能な状態を共有しないisolate-deterministic-tests- 決定的なテストを書くisolate-prefer-stubs-over-mocks- クエリにはモックよりスタブを優先するisolate-use-dependency-injection- テスト容易性のために依存性注入を使う
4. テストデータ管理(高)
data-use-factories- テストデータの作成にファクトリーを使うdata-minimal-setup- テストのセットアップを最小限にするdata-avoid-mystery-guests- 正体がわかりにくいテストデータを避けるdata-unique-identifiers- テストごとに一意の識別子を使うdata-builder-pattern- 複雑なオブジェクトにはビルダーパターンを使う
5. アサーションと検証(中)
assert-specific-assertions- 具体的なアサーションを使うassert-error-messages- エラーメッセージと型をアサートするassert-no-assertions-antipattern- すべてのテストにアサーションを含めるassert-custom-matchers- ドメイン固有のアサーションにはカスタムマッチャーを作成するassert-snapshot-testing- スナップショットテストは慎重に使う
6. テストの整理と構成(中)
org-group-by-behavior- メソッドではなく動作ごとにテストをまとめるorg-file-structure- テストファイルの構成を一貫させるorg-setup-teardown- セットアップと後処理のフックを適切に使うorg-test-utilities- 再利用可能なテストユーティリティを切り出すorg-parameterized-tests- 条件の違いにはパラメーター化テストを使う
7. テストのパフォーマンスと信頼性(中)
perf-fast-unit-tests- 継続的なフィードバックを得られるよう、ユニットテストを十分に高速に保つ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 テストを重要なユーザーパスに限定する
使用方法
上記のルールのうち、タスクに該当するものについて、references/<rule-id>.md を読み、重要な理由と、誤ったコードと正しいコードを確認してください。
関連スキル
- Vitest フレームワークの詳細については、
vitestスキルを参照してください - MSW を使用した API のモックについては、
mswスキルを参照してください
コメント
Markdown 対応