2016-06-01 8 views
1

私はLaravel 5.2を使用していますが、idがnew-itemのページがあります。クリックすると、javascriptコードがフォームのリモートブートストラップモーダルを読み込み、モーダルを表示します。Laravel 5.2テストDOMが変更されました

Laravelを使用してPHPUnitで機能をテストしたいと考えています。私はこのテストを書くいる:

$this->visit('/'); 
    ->click('new-item'); 
    ->seeElement('.modal'); 

ページが正常に動作しているが、テストが失敗しました。ページには.modal要素がないというエラーが表示され、ページのhtmlも表示されます。 しかし、htmlは、リモートモーダルがページに挿入される前の元のページのように見えます。

JavaScriptを使用してDOMを変更した後で、ページの内容を更新するテストを強制するにはどうすればよいですか?

答えて

1

デフォルトでは、LaravelはPHPUnitとPHPBrowserをテストに使用します。 PHPBrowserはJavascriptをサポートしていません。 javascriptをテストしたい場合は、セレンとcodeceptionのようなものを使う必要があります。 CodeceptionにはLaravelアダプタが組み込まれているので、使い方はまだ簡単です。私は多くのアプリケーションでそれを使用して、それは本当にうまく動作します。

http://codeception.com/docs/modules/Laravel5

これはただ一つの選択肢であるJavaScriptのサポートヘッドレスブラウザ用の他のオプションもあります。

関連する問題