Orchestra Testbenchとは
Orchestra Testbench は、パッケージ開発向けのLaravelテストヘルパーです。Orchestra\Testbench\TestCase を継承すると、パッケージ単体でもLaravelアプリケーション内と同じ感覚でテストできます。
Laravel公式ドキュメントのパッケージ開発でも、パッケージテストにはTestbenchを使うことが案内されています。
セットアップ
基本的なテストの書き方
サービスプロバイダーが読み込まれているか、ファサードが期待どおり動くか、設定が反映されているかを最初に確認します。ファイルシステム・データベースのテスト
DBを使うテストでは、defineEnvironment() でSQLiteインメモリを設定し、テスト対象のマイグレーションを読み込みます。
複数Laravelバージョンでのテスト
TestbenchのメジャーバージョンはLaravelのメジャーバージョンに対応します。詳細は公式のVersion Compatibilityを確認してください。| Laravel | Testbench |
|---|---|
| 12.x | 10.x |
| 13.x | 11.x |
まとめ
Testbenchを使うと、Laravelアプリを手動で用意しなくても、パッケージの振る舞いを実運用に近い形で検証できます。サービスプロバイダー登録、設定、ファサード、DBまでテスト対象に含めることで、リリース後の不具合を大きく減らせます。関連ページ
Laravelパッケージ開発
サービスプロバイダーを中心にしたパッケージ実装の基本を確認します。
パッケージのバージョン互換性管理
LaravelとTestbenchのバージョン戦略とCIマトリクス運用を確認します。