【laravel Dusk】インストールとassertメソッドについて

みなさん、お疲れさまです。

今回は、最近まで行っていた『laravel Dusk』についてを記事にしたいと思います。

Duskとは、簡単に言うと自動でテストを行ってくれる便利なものです。

今回の記事では以下をまとめてみました。

  • Duskインストール方法&実行の仕方
  • assertメソッドについて

まだまだ初心者でうまくまとめれていないと思いますが、自分の備忘録としても書いております。。。

抜けている部分もあると思いますが、温かい目で見ていただけると嬉しいです。

Duskインストール方法&実行の仕方

 まず、Duskを使用するにはインストールが必要なのでコマンドでインストールします。

今回laravelは、インストールされているものとみなします。

最初にcomposerからDuskをインストールします。

composer require laravel/dusk

次に下記を実行します。

php artisan dusk:install

これで、testディレクトリの中に、サンプルテストを含んだBrowserディレクトリが作成されます。

実際にテストは下記のコマンドを入力すると実行できます。

php artisan dusk

上記だとプロジェクト内の作成したすべてのDuskが実行されてしまうため、次のコマンドで指定したクラス内やメソッド内のみを実行してくれます。

php artisan dusk --filter 'Dusk実行したいクラス名やメソッド名'

ほかにもパスを指定したり、グループを指定することもできるそうです。

新しいDuskのテストを作成するには、下記のコマンドで作成します。

php artisan dusk:make テスト名

assertメソッドについて

 laravelのassertメソッドでは、表示や結果がtrueであるかを判断してくれるメソッドです。

私が今回のプロジェクトでよく使っていたassertメソッドを一部まとめてみました。

■assertTitle

 ページタイトルが指定した文字列と一致することを意味します。

$browser->assertTitle($title);

■assertSee / assertDontSee

 指定したテキストが、ページ上に存在することを宣言します。/ 指定したテキストが、ページ上に存在しないことを宣言します。

$browser->assertSee($text);

■assertSeeIn / assertDontSeeIn

 指定したテキストが、セレクタに含まれていることを宣言します。 / 指定したテキストが、セレクタに含まれていないことを宣言します。

$browser->assertSeeIn($selector, $text);

■assertInputValue / assertInputValueIsNot

 指定した入力フィールドが、指定値を持っていることを宣言します。 / 指定した入力フィールドが、指定値を持っていないことを宣言します。

$browser->assertInputValue($field, $value);

■assertChecked / assertNotChecked

 指定したチェックボックスが、チェック済みであることを宣言します。 / 指定したチェックボックスが、チェックされていないことを宣言します。

$browser->assertChecked($field);

■assertRadioChecked / assertRadioNotChecked

 指定したラジオフィールドが選択されていることを宣言します。 / 指定したラジオフィールドが選択されていないことを宣言します。

$browser->assertRadioSelected($field, $value);

■assertSelected / assertNotSelected

 指定したドロップダウンで指定値が選択されていることを宣言します。 / 指定したドロップダウンで指定値が選択されていないことを宣言します。

$browser->assertSelected($field, $value);