ホームページ > 記事 > PHPフレームワーク > Laravel 開発: エンドツーエンドのテストに Laravel Testing を使用する方法は?
Laravel は、Web アプリケーションに強力なインフラストラクチャとすぐに使える機能を提供する人気の PHP フレームワークです。その 1 つは Laravel Testing で、Laravel アプリケーションに高速なエンドツーエンドのテスト メカニズムを提供します。この記事では、エンドツーエンドのテストに Laravel Testing を使用する方法を学びます。
ソフトウェア開発プロセスにおいて、テストはソフトウェアの品質を確保するための重要な部分です。 Web アプリケーションでは、エンドツーエンド テストはテストの最後のステップであり、最終的な承認ステップです。エンドツーエンドのテストは通常、自動化されたテスト スクリプトによって実行され、実際のユーザー操作をシミュレートし、Web アプリケーションが適切に動作するかどうかをテストします。
エンドツーエンド テストを使用して次のことを行います:
Laravel Testing は、Laravel フレームワークに付属するテスト ライブラリであり、テストを作成し、実際のシミュレーションを行うための多くのメソッドとツールが提供されます。ユーザーのインタラクション動作。
Laravel Testing では、テストクラスを作成し、テストに PHPUnit を使用できます。 LaravelTesting は、ルートやページへのアクセスなど、Laravel アプリケーション機能を簡単に使用できるようにする PHPUnit への追加の機能拡張を提供します。
Laravel テストをエンドツーエンド テストに使用する場合、主に次のコンポーネントを使用します:
このセクションでは、ログイン ページと登録ページの機能をテストするための簡単なエンドツーエンド テストを作成します。
まず、PHPUnit と Laravel Testing ライブラリをインストールする必要があります。これらの操作は Composer を使用して実行できます。
ターミナル ウィンドウに次のコマンドを入力して、PHPUnit のインストールを完了します:
composer require --dev phpunit/phpunit
次に、次のコマンドを使用して Laravel Testing ライブラリをインストールできます:
composer require --dev orchestra/testbench-browser-kit
インストールが完了したら、テストの作成を開始できます。
TestCase クラスの作成
TestCase クラスを作成し、Laravel クラスから継承して、Laravel Testing の機能を使用できるようにします。ターミナル ウィンドウに次のコマンドを入力します。
php artisan make:test EndToEndExampleTest
このコマンドは、/tests/ ディレクトリに EndToEndExampleTest.php ファイルを作成します。ファイル全体の内容を次のコード例に置き換えます。
<?php namespace TestsFeature; use IlluminateFoundationTestingRefreshDatabase; use LaravelBrowserKitTestingTestCase as BaseTestCase; abstract class EndToEndTestCase extends BaseTestCase { use CreatesApplication; }
テストの作成
テストの作成を開始する前に、Laravel アプリケーションが実行されていることを確認する必要があります。次のコマンドを使用してアプリケーションを開始できます:
php artisan serve
これで、ログインと登録の機能をテストするテストを作成できます。 EndToEndExampleTest テスト クラスに、次のテスト メソッドを追加します。
public function testUserRegistration() { $this->browse(function ($browser) { // 访问登陆页面 $browser->visit('/login') ->assertSee('Login') ->assertSee('Email') ->assertSee('Password'); // 注册新用户 $browser->visit('/register') ->type('name', 'John Doe') ->type('email', 'johndoe@example.com') ->type('password', 'password') ->type('password_confirmation', 'password') ->press('Register') ->assertPathIs('/home'); // 退出登录 $browser->click('#navbarDropdown') ->assertSee('Logout') ->clickLink('Logout') ->assertPathIs('/'); }); }
上記のテストでは、Laravel Testing のブラウザ テスト コンポーネントを使用してユーザー操作をシミュレートします。ログイン ページにアクセスしてログイン フォームを送信し、次に登録ページにアクセスして新しいユーザーを作成し、最後にログアウトします。出力が期待どおりであること、および要求されたパスと場所が正しいことを確認します。
次のコマンドを使用してテストを実行できます:
php artisan test --testsuite=Feature
実行が完了すると、コンソールにテスト結果が表示されます。
Laravel Testing は、Laravel フレームワークに付属するテスト ライブラリです。シンプルでフレンドリーなエンドツーエンドのテスト ツールと機能拡張を提供し、作成と機能の拡張を容易にします。テスト、スクリプトを実行します。この記事では、エンドツーエンドのテストに Laravel Testing を使用する方法を学び、基本的なログインおよび登録テストを作成することで、ブラウザーのテストに Laravel Testing を使用する方法を示しました。実際には、必要に応じてテストをカスタマイズし、アプリケーションのさまざまな側面を検証できます。
以上がLaravel 開発: エンドツーエンドのテストに Laravel Testing を使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。