Web アプリケーションの開発では、テストの自動化が不可欠な要素になっています。この記事では、自動 UI テストのための Laravel フレームワークの強力なツールである Laravel Dusk について説明します。 Laravel Dusk は、ヘッドレスブラウザを実行して、ユーザー対話をシミュレートすることで Web アプリケーションが期待どおりに動作していることを確認するためのシンプルな API を提供します。
自動 UI テストに Laravel Dusk を使用する利点は何ですか?
次に、Laravel Dusk を使用して Laravel で自動 UI テストを行う方法を見てみましょう。
前提条件:
ステップ 1: Laravel Dusk をインストールする
Laravel Dusk は Laravel フレームワークの一部であるため、最初に Laravel フレームワークをインストールする必要があります。 Laravel フレームワークをインストールするには、次のコマンドを実行します:
$ composer create-project --prefer-dist laravel/laravel project-name
次に、次のコマンドを実行して Laravel Dusk をインストールする必要があります:
$ composer require --dev laravel/dusk
ステップ 2: Dusk をセットアップする
Laravel Dusk をインストールしたら、テストを開始する前にいくつかのセットアップ手順を実行する必要があります。
まず、Dusk には .env.dusk.local ファイルが必要です。これは .env ファイルの拡張子であり、テスト用の環境変数が含まれています。 .env.dusk.local ファイルは、次の方法で作成できます。
$ cp .env .env.dusk.local
テストのニーズに合わせて .env.dusk.local ファイルの内容を変更します。
Laravel Dusk では、テスト中に使用されるデータを保存するために SQLite データベースも必要です。次のコマンドを実行してデータベースを作成できます。
$ touch database/database.sqlite
最後に、Dusk に PHPUnit の ChromeDriver を使用するように指示するアクセサーを AppServiceProvider に登録します。
public function register() { if ($this->app->environment('local', 'testing')) { $this->app->register(DuskServiceProvider::class); } }
ステップ 3: テストを作成する
これで、最初の Dusk テストの作成を開始できます。テストを作成するには、tests/Browser ディレクトリを作成し、その中に新しいブラウザ テスト クラスを作成します。
Artisan Maker を使用してこのファイルを簡単に作成し、次のコマンドを実行します:
$ php artisan dusk:make LoginTest
このコマンドを実行すると、LoginTest.php という名前の新しいテスト クラス ファイルが作成されます。次のサンプル コードに従って更新してください。このファイル:
<?php namespace TestsBrowser; use LaravelDuskBrowser; use TestsDuskTestCase; class LoginTest extends DuskTestCase { /** * A Dusk test example. * * @return void */ public function testLogin() { $this->browse(function (Browser $browser) { $browser->visit('/login') ->type('email', 'example@domain.com') ->type('password', 'password') ->press('Login') ->assertPathIs('/home'); }); } }
この例では、Chrome でローカル アプリケーションを開き、ログイン ページにサンプル データを入力し、ログイン ボタンをクリックして、リダイレクト パスが「/home」であることを確認します。
最後に、次のコマンドを実行してテストを実行します:
php artisan dusk
おめでとうございます!これで、Laravel Dusk の入門チュートリアルが完了しました。 Laravel Dusk を使用すると、自動化された UI テストを簡単に作成して、アプリケーションが期待どおりに動作することを確認できます。
以上がLaravel 開発: 自動 UI テストに Laravel Dusk を使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。