Laravel Duskはもうすぐです

ララヴェル夕暮れ







Laravelは、エンドツーエンドのテストを書くときに役立つヘルパーメソッドのセットを提供します。 リンクをクリックして、フォームフィールドに入力して送信するのが簡単になります。 内部では、LaravelはSymfony BrowserKitコンポーネントを使用してWebブラウザーの動作をシミュレートします。 ただし、アプリケーションがJavaScriptとAJAXを使用してページをロードする場合、BrowserKitは役立ちません。







Laravel Duskは、この問題を解決するためにLaravel 5.4に追加された新しいツールです。







Laravel Duskは、JavaScriptアプリケーション用のエンドツーエンドのテストツールです。 その目的は、ボタンやリンクのクリック、フォームへの入力、さらにはドラッグアンドドロップなど、さまざまなインタラクティブ機能をテストする正しい方法を提供することです!







Laravel Duskは、ChromeDriverとFacebook PHP-WebDriverを使用して、エンドツーエンドのテストを実行します。 また、どのSeleniumブラウザーでも動作しますが、デフォルトではChromeDriverが付属しているため、JDKまたはSeleniumのインストールを回避できます。 これにより、Duskは非常に使いやすくなります。 Seleniumの時間のかかるインストールプロセスを実行して、サーバーを常に起動する必要はありません。 さらに、Taylor Otvelは、DuskでのテストはSeleniumでのテストよりも高速に実行されると指摘しました。







夕暮れでは、条件が真になるか、CSSセレクターが使用可能になるまで待機できます。 これにより、JavaScriptを使用してアプリケーションをより適切にテストできます。







Duskは、失敗したテストのスクリーンショットも自動的に保存します! ページがどのように表示され、何が間違っていたかを確認できます。







もう1つの便利な機能は、 loginAsなどのヘルパーです。これにより、ログインしてユーザーの本質を取得できます。 同時に、毎回アカウントにログインしなくても、認​​証が必要なページを開くことができます。







夕暮れでは、1回のテストで複数のブラウザーウィンドウを開くことができます。 これにより、ソケットを使用するアプリケーションを簡単にテストできます。あるウィンドウで任意のアクションを実行し、別のウィンドウで結果を取得できます。







Otvelは、Duskのテスト環境に関する情報も提供しました。 アプリケーションのルートには、テスト環境の設定を保存する.env.duskファイルが含まれてます。 Duskテストの実行にPHPUnitを直接使用することはありません。 代わりに、Dusk artisanコマンドを呼び出して、.envファイルをバックアップし、テスト中に.envファイルを.env.duskファイルに置き換え、完了後に.envファイルを復元します。







Laravel 5.3から5.4にアップグレードする場合、BrowserKitを使用して作成されたテストは失われません。 後方互換性のために、別のパッケージ-Laravel BrowserKit Testingがあります。








All Articles