Laravel 開発: エンドツーエンドのテストに Laravel Testing を使用する方法は?
Laravel は、Web アプリケーションに強力なインフラストラクチャとすぐに使える機能を提供する人気の PHP フレームワークです。その 1 つは Laravel Testing で、Laravel アプリケーションに高速なエンドツーエンドのテスト メカニズムを提供します。この記事では、エンドツーエンドのテストに Laravel Testing を使用する方法を学びます。
なぜエンドツーエンドのテストが必要なのでしょうか?
ソフトウェア開発プロセスにおいて、テストはソフトウェアの品質を確保するための重要な部分です。 Web アプリケーションでは、エンドツーエンド テストはテストの最後のステップであり、最終的な承認ステップです。エンドツーエンドのテストは通常、自動化されたテスト スクリプトによって実行され、実際のユーザー操作をシミュレートし、Web アプリケーションが適切に動作するかどうかをテストします。
エンドツーエンド テストを使用して次のことを行います:
- アプリケーションが期待を満たしているかどうかを判断します
- アプリケーションが操作可能で応答性があるかどうかを判断します
- バグとエラーのキャプチャ
Laravel Testing の基本知識
Laravel Testing は、Laravel フレームワークに付属するテスト ライブラリであり、テストを作成し、実際のシミュレーションを行うための多くのメソッドとツールが提供されます。ユーザーのインタラクション動作。
Laravel Testing では、テストクラスを作成し、テストに PHPUnit を使用できます。 LaravelTesting は、ルートやページへのアクセスなど、Laravel アプリケーション機能を簡単に使用できるようにする PHPUnit への追加の機能拡張を提供します。
Laravel テストをエンドツーエンド テストに使用する場合、主に次のコンポーネントを使用します:
- ブラウザ テスト コンポーネント (BrowserKit テスト): HTTP リクエストと応答をシミュレートできます。 test Web アプリケーションが正しく応答できるかどうか。
- キュー テスト コンポーネント (キュー テスト): 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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

LaravelスケジュールタスクRAN RANSPONSIVEトラブルシューティングRALAVELのスケジュールタスクスケジューリングを使用すると、多くの開発者がこの問題に遭遇します。スケジュール:実行...

Laravelの電子メールの検証コードの送信の障害を処理する方法は、Laravelを使用することです...

DCATを使用するときにDCATADMIN(Laravel-Admin)にデータを追加するためにカスタムクリックのテーブル関数を実装する方法...

Laravel - ダンプサーバー - Laravel ダンプサーバーには、Laravel 5.7 のバージョンが付属しています。以前のバージョンにはダンプ サーバーが含まれていません。ダンプサーバーはlaravel/laravelコンポーザーファイルの開発依存関係になります。

Laravel FrameworkでRedis接続の共有の影響とLaravelフレームワークとRedisを使用する際のメソッドを選択すると、開発者は問題に遭遇する可能性があります。

Laravel Multi-Tenant拡張機能パッケージStancl/Tenancyのカスタムテナントデータベース接続Laravel Multi-Tenant ExtensionパッケージStancl/Tenancyを使用したマルチテナントアプリケーションを構築する際の...

Laravel - アクション URL - Laravel 5.7 では、「呼び出し可能なアクション URL」と呼ばれる新機能が導入されています。この機能は、アクションメソッドで文字列を受け入れるLaravel 5.6の機能に似ています。 Laravel 5.7 で導入された新しい構文の主な目的は、
