laravel-tdd
作成者 affaan-mlaravel-tddは、PHPUnitとPestに対応したLaravelのテスト駆動開発ガイドです。単体・機能・統合テストの使い分け、データベース戦略、fakeの活用、カバレッジ目標、テスト自動化まで、実務で使えるワークフローを支援します。
このスキルは84/100です。Laravel TDDの実践に必要な流れが具体的で、きっかけの見極め、テスト層の指針、データベーステストの考え方まで揃っています。Laravel開発で意見のあるテスト支援を求めるなら導入候補として十分価値がありますが、どちらかといえばワークフロー重視でツール統合は控えめ、補助ファイルもありません。
- 用途が明確で、新機能追加、バグ修正、リファクタリング、Laravelのテスト作業がはっきり対象として示されています。
- 実行手順が具体的で、red-green-refactor の流れ、テスト層の選び方、データベース戦略の指針によって迷いを減らせます。
- Laravel向けの実用性が高く、PHPUnit/Pest、factory、データベーステスト、fake、カバレッジ目標、models・policies・jobs・notifications といった主要対象をカバーしています。
- スクリプト、参考リンク、補助リソースは含まれていないため、実行は SKILL.md の指示に完全に依存します。
- リポジトリは experimental/test の संकेतがあるため、用途に合うか確認し、完成度の高い本番向けパッケージのようには期待しないほうがよいです。
laravel-tdd skill の概要
laravel-tdd skill は、Laravel におけるテスト駆動開発を実践するためのガイドです。まずテストを書き、その後に PHPUnit または Pest で実装を進めます。新機能、バグ修正、リファクタリング、Laravel のテスト自動化に対して、毎回その場でテスト戦略を考えずに済む、再現性の高いワークフローを求める開発者に最適です。
laravel-tdd が実用的なのは、チームの手を止めがちな判断に焦点を当てているからです。たとえば、どのテスト層を使うか、いつ DB のリフレッシュが必要か、フェイクをどう扱うか、カバレッジ目標をどう現実的に保つか、といった点です。そのため laravel-tdd skill は、単なる「テストを書いて」という汎用プロンプトよりも、すぐに使える形になっています。
Laravel のテスト自動化に最適なケース
laravel-tdd は、HTTP、認証、バリデーション、Eloquent、ジョブ、通知、キューをまたぐ Laravel コードのテスト自動化が必要なときに使います。すでに高速なフィードバックループを重視していて、red-green-refactor を崩さずに進めたいプロジェクトと特に相性が良い skill です。
何を素早く判断できるようになるか
laravel-tdd skill の主な価値は、抽象的な TDD 理論ではありません。次の判断を助けてくれます。
- 変更を unit test、feature test、integration test のどこから始めるべきか
- リポジトリの標準として Pest と PHPUnit のどちらを優先するか
- そのテストに必要な DB セットアップはどの程度か
- fakes で十分な場面と、実際の境界を通すべき場面はどこか
向いていない場合
一回限りのコード例だけが欲しいなら、より広い Laravel プロンプトの方がシンプルです。laravel-tdd skill が本領を発揮するのは、出力が実際に動くテストワークフローに沿っている必要があり、保守性、カバレッジ、反復時の構造の一貫性まで重視する場合です。
laravel-tdd skill の使い方
Claude Code 環境に skill をインストールする
laravel-tdd は次のコマンドでインストールします。
npx skills add affaan-m/everything-claude-code --skill laravel-tdd
これが多くのユーザーにとって必要な laravel-tdd install の手順です。インストール後は、モデルが既存のテスト、テスト設定、変更対象のコードを確認できる Laravel リポジトリ内で呼び出してください。
タスクの伝え方を適切にする
laravel-tdd usage をうまく機能させるには、曖昧な実装依頼ではなく、具体的な振る舞いを最初に伝えることが重要です。よい入力には次の情報を含めます。
- 機能またはバグ
- 想定されるユーザー向けの振る舞い
- 関連する既存のモデル、ルート、コントローラ、ジョブ、通知
- リポジトリで既に使っているテストフレームワークの好み
より強いプロンプト例:
“laravel-tdd を使って、メールリンクによるパスワードレスログインを追加してください。既存のテストスタイルを優先し、まず失敗する feature test を書いてから、必要最小限のコードだけを実装してください。適切な箇所では fakes を使い、テストは現在の Laravel の慣例に合わせてください。”
最初に読むべきファイル
この laravel-tdd guide では、まず SKILL.md を読み、その後にリポジトリ内の補助ドキュメントがあれば確認してください。このリポジトリでは SKILL.md が一次情報で、特に重要なのは次のセクションです。
When to UseHow It WorksRed-Green-Refactor CycleTest Layers- database strategy guidance
プロジェクト独自の Laravel 規約がある場合は、テストを書く前に skill の指針と照らし合わせてください。そうしないと、ローカルのテストスタイルと衝突してしまいます。
skill の意図に合うワークフローで使う
laravel-tdd に合ったワークフローは次のとおりです。
- 振る舞いを一文で定義する
- その振る舞いを証明できるテスト層を選ぶ
- 失敗するテストを書く
- 通るための最小限のコードを実装する
- テストが green になってからリファクタリングする
この順序で進めるようモデルに指示すると、実装の細部をでっち上げるリスクを減らし、実際の Laravel コードベースに適用しやすい出力が得られます。
laravel-tdd skill の FAQ
laravel-tdd は PHPUnit ユーザー専用ですか?
いいえ。skill は PHPUnit と Pest の両方に対応しており、新規テストでは、リポジトリがすでに PHPUnit を標準化していない限り Pest が優先されます。リポジトリが混在している場合は、どちらのスタイルに合わせるべきかを明示してください。そうしないと不整合が入りやすくなります。
使い始める前に大きなテストスイートが必要ですか?
いいえ。laravel-tdd skill は、小規模なプロジェクトでも有効です。変更ごとに適切なテストレベルを選ぶ助けになるからです。特に、最初の数本のテストをチーム全体の基準として機能させたいときに役立ちます。
通常の Laravel プロンプトと何が違いますか?
通常のプロンプトでも、一度は動くコードを生成できるかもしれませんが、テスト構造は軽視されがちです。laravel-tdd skill は、テストファーストのワークフロー、テスト層の選択、DB 戦略を中心に据えるため、Test Automation に向いており、実際の Laravel プロジェクトに適合しやすくなります。
どんなときにこの skill を使わないべきですか?
Laravel の振る舞いをテストしない場合、テスト規律なしで素早くプロトタイプを作りたい場合、またはアプリに厳格な社内テストフレームワークがあり、skill の PHPUnit/Pest 前提と衝突する場合は、使わない方がよいです。
laravel-tdd skill を改善する方法
実装目標だけでなく、振る舞いを伝える
laravel-tdd の成果を最も高めるのは、振る舞い仕様を与えることです。「通知システムを作って」よりも、「請求書が期限超過になったらメール通知を送信し、feature test で確認してください」の方が適切です。そうすると、skill にとってテスト可能な対象が明確になり、やり取りの往復も減ります。
境界とテストスタイルを先に明示する
何をどうテストするのかを最初に伝えてください。たとえば次のように指定します。
- “HTTP エンドポイントには feature test を使い、価格計算ルールには unit test を使ってください。”
- “このテストは Eloquent と policy に触れるので
RefreshDatabaseを使ってください。” - “既存の suite が PHPUnit でない限り、Pest を使ってください。”
こうした詳細があると、laravel-tdd skill が誤ったデフォルトを選びにくくなり、リポジトリに合った出力を返しやすくなります。
ありがちな失敗パターンを確認する
よくある問題は、実装の細部をテストしすぎることと、テスト層の選択を誤ることです。最初の出力が低レベルすぎるなら、振る舞い中心に書き直すよう依頼してください。テストセットアップが重く感じるなら、fixture を最小化し、factory を優先し、可能な範囲で DB セットアップを簡素化するよう求めてください。
失敗するテストのレビューで反復する
最初の出力の後は、コード変更の前に、そのテストが本当に正しい理由で失敗するかを確認してください。そうでなければ、より厳密な assertion、よりきれいな fixture、より狭いスコープを依頼してください。実際のプロジェクトで Test Automation 向けの laravel-tdd 出力を改善する最短ルートは、この反復です。
