フロントエンド・PHPカンファレンス北海道2026
トーク(15分)
PHP フロントエンド 初登壇

PHPで書くE2Eテスト ― Laravel Duskで広がるE2Eの責務 ―

社内プロダクトのLaravelアプリ開発にアサインされ、リポジトリを覗くと、PHPでE2Eテストを書くDuskが導入されていました。E2EテストといえばPlaywrightやCypressなどJSで書くフレームワークの印象が強く、「なぜPHPでE2Eを書くのか?」と疑問を抱いていました。
しかし実際にDuskを使う中で、その選択には明確な理由があることに気づきました。

Laravelアプリにおいては、
・ユーザーや関連データをFactoryで生成し、画面表示に必要なDB状態をテスト内で明示できる
・権限の異なるユーザーを作成し、loginAs を使ってログイン済み状態を即座に再現できる
・テストに必要なデータ準備とログイン状態を、別ファイルに分けることなく同じテストコード内で定義できる
といった点で、JS製E2Eツールより相性が良いケースがあります。

本トークでは、JS製テストフレームワークと比較しながら、どのような条件でDuskが有効な選択肢となるのかを具体例とともに紹介します。LaravelアプリにおけるE2Eテスト導入時の技術選定の軸を持ち帰ってもらうことを目的としたセッションです。