Skip to main content

Testbench Workbenchとは

Orchestra Testbench はテスト向けですが、Workbenchを組み合わせるとパッケージリポジトリ内に小さなLaravelアプリを作って手元で動かせます。 package-testing で作ったテストを補完しつつ、UI確認、ルート疎通、シーダー付き検証を進めたいときに使います。

セットアップ

1

Testbenchをインストールする

2

Workbenchを作成する

このコマンドは以下をまとめて行います。
  • workbench/ ディレクトリ構造を作成する
  • composer.jsonautoload-dev にWorkbench名前空間を追加する
  • composer.jsonscripts にビルド用コマンドを追加する
追加オプション:
  • --force : 既存ファイルを上書きする
  • --basic : ルート・package discovery設定を省略したシンプルな構成
  • --devtool : DevToolサポートを有効化する
3

ビルドして起動する

workbench:installworkbench/ ディレクトリや autoload-dev、関連スクリプトをまとめて整備します。
インストール後、composer.json には以下のスクリプトが追加されます。

testbench.yamlで開発環境を定義する

Workbenchの動作はルートに置く testbench.yaml で管理します。
testbench.yaml は環境ごとに異なる設定を含むことがあるため、.gitignore に追加してコミット対象から外すことが推奨されます。代わりに testbench.yaml.example をテンプレートとしてリポジトリに含めてください。
主な設定オプション: 環境変数も testbench.yaml で管理できます。

workbenchディレクトリ構造

workbench
app
Models
bootstrap
config
database
factories
migrations
public
storage

Workbenchが提供する主要機能

WorkbenchServiceProvider

Workbench専用のサービスプロバイダーを作成して、デモ用の登録処理を行います。

ルートとコントローラ

workbench/routes/web.phpworkbench/routes/api.php に検証ルートを置けます。

マイグレーションとSeeder

workbench/database/migrationsworkbench/database/seeders を使うと、実運用に近いデータ構造で検証できます。
Seederでテストデータを生成します。

サービス起動とCLI確認

vendor/bin/testbench 経由でArtisanコマンドを実行できます。

WithWorkbenchトレイトを使ったテスト

WithWorkbench トレイトを使うと、testbench.yaml の設定が自動テストにも適用されます。

テストとの連携

Workbenchは「手動確認・デモ用アプリ」、Testbenchのテストコードは「自動検証」として役割分担すると運用しやすくなります。
  • 自動化: tests/ で回帰を防ぐ
  • 手動確認: workbench/ で画面・導線・統合挙動を確認する

トラブルシューティング

testbench.yaml の構文とプロバイダー設定を確認してください。YAMLのインデントエラーが原因になることがあります。
ルートファイルのパスとWorkbenchServiceProviderの登録を確認してください。testbench.yamldiscovers.webtrue になっているか確認します。
マイグレーションのパスが正しいか確認してください。SQLiteを使う場合は create-sqlite-db ビルドステップが含まれているか確認します。

関連ページ

Orchestra TestbenchでLaravelパッケージをテストする

パッケージテスト基盤の作り方を先に確認します。

パッケージのバージョン互換性管理

LaravelとTestbenchの対応表とCIマトリクス運用を確認します。
最終更新日 2026年4月26日