ホームページ > PHPフレームワーク > Laravel > Laravel 開発: 自動 UI テストに Laravel Dusk を使用する方法は?

Laravel 開発: 自動 UI テストに Laravel Dusk を使用する方法は?

PHPz
リリース: 2023-06-13 17:21:27
オリジナル
821 人が閲覧しました

Web アプリケーションの開発では、テストの自動化が不可欠な要素になっています。この記事では、自動 UI テストのための Laravel フレームワークの強力なツールである Laravel Dusk について説明します。 Laravel Dusk は、ヘッドレスブラウザを実行して、ユーザー対話をシミュレートすることで Web アプリケーションが期待どおりに動作していることを確認するためのシンプルな API を提供します。

自動 UI テストに Laravel Dusk を使用する利点は何ですか?

  • 高速で信頼性の高いテスト: Laravel Dusk は、テスト インフラストラクチャを簡素化しながらテスト サイクルを短縮するように設計された、高速で信頼性の高いテスト ツールです。
  • テストカバレッジの向上: Laravel Dusk を使用して、フォーム検証、ユーザーアクション、認証など、アプリケーションのさまざまな側面をテストします。
  • 実際のユーザー操作をシミュレートする: Laravel Dusk は、実際のユーザー操作をシミュレートすることでアプリケーションをテストするため、アプリケーションが実際に想定どおりに動作していることを確認できます。
  • 状況テスト: さまざまなシナリオを通じてテストを実行できます。これは、特定の Web ページのテスト、さまざまなユーザーの役割と権限のテストなど、さまざまなシナリオをテストできることを意味します。

次に、Laravel Dusk を使用して Laravel で自動 UI テストを行う方法を見てみましょう。

前提条件:

  • Laravel 5.4 以降
  • PHP 7.0 以降

ステップ 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート