laravel-tdd
Laravel での TDD:PHPUnit と Pest、ファクトリー、データベーステスト、フェイク、カバレッジターゲット
原文 · 译文未通过检查适用对象:软件开发与测试。自动收录 · 待核查。
原作者说明节选
从固定版本的 SKILL.md 提取,保留原文语言。以下内容属于作者说明,本站尚未验证安装、兼容或运行结果。
查看日文原文
原文涵盖的主题
- Laravel TDD ワークフロー
- 使用時機
- 仕組み
- RED-GREEN-REFACTOR サイクル
- テスト層
- データベース戦略
- テストフレームワーク選択
- 例
PHPUnit と Pest を使用した Laravel アプリケーション用のテスト駆動開発。80%+ カバレッジ(ユニット + フィーチャー)。 Laravel の新機能またはエンドポイント バグ修正またはリファクタリング Eloquent モデル、ポリシー、ジョブ、通知のテスト プロジェクトが PHPUnit を標準化していない限り、新しいテストには Pest を優先 1) テスト失敗を書く 2) 最小限の変更を実装して合格させる 3) テストを緑に保ちながらリファクタリング ユニット:純粋な PHP クラス、値オブジェクト、サービス フィーチャー:HTTP エンドポイント、認証、バリデーション、ポリシー 統合:データベース + キュー + 外部バウンダリー スコープに基づいて層を選択: ユニットテストを純粋なビジネスロジックとサービスに使用。 フィーチャーテストを HTTP、認証、バリデーション、レスポンス形状に使用。 統合テストを DB/キュー/外部サービスを一緒に検証するときに使用。 RefreshDatabase ほとんどのフィーチャー/統合テスト用(テスト実行ごとにマイグレーションを 1 回実行し、次に各テストをトランザクション内でラップ;メモリ内データベースは各テストごとに再マイグレーションする可能性がある) DatabaseTransactions スキーマがすでにマイグレーションされており、テストごとのロールバックのみが必要なとき DatabaseMigrations すべてのテストで完全な migrate/fresh が必要なとき、またはコストを負担できるとき RefreshDatabase をデータベースに触れるテストのデフォルトとして使用:トランザクション サポート付きデータベースの場合、マイグレーション ステップ フラグを使用して テスト実行ごとに 1 回実行し、次に各テストをトランザクション内でラップします;:memory: SQLite または非トランザクションの接続では、各テストの前にマイグレーションします。スキーマがすでにマイグレーションされており、テストごとのロールバックのみが必要なときは DatabaseTransactions を使用します。 新しいテストの場合は Pest をデフォルトで使用。 PHPUnit はプロジェクトがすでにそれを標準化している、またはPHPUnit 固有のツールが必要なときのみ使用。 テストデータにはファクトリーを使用 エッジケース(アーカイブ済み、管理者、トライアル)の状態を定義 クリーンな状態には RefreshDatabase を使用 テストを隔離して決定論的に保つ 手動クエリより assertDatabaseHas を優先 Bus::fake() ジョブ用 Queue::fake(
这里只展示节选,请以完整原文和当前要求为准。
- 来源仓库
- affaan-m/ECC
- 源文件
- docs/ja-JP/skills/laravel-tdd/SKILL.md
- 固定版本
- d2ef2680594f9a17526a6e1a2e18b3d242c5d17b
来源与内容状态
本条为自动发现的元数据,尚未完成人工文档核查;适用性与运行结果待核查。
原作者:affaan-m/ECC · 原作者仓库元数据。文档核查:未核查。最近来源检查:2026-11-09T14:01:49.407Z。
分类由名称、说明与路径规则生成,分类不代表已核实适配。
许可与权利归属
MIT。第三方内容及版权归原作者,使用条件以原文为准。
许可原文 ↗本站没有因同步、复制或用户自报成功而将资源标为运行验证通过。
限制与注意事项
- 元数据收录不代表本站已经安装、适配、实测或进行安全审查。