Laravelのテストメソッド一覧

こんにちは!とびろぐ管理人のとびうおです!

今回はLaravelのテストのメソッド一覧をまとめたので、ぜひみてみてください!

今回はレスポンスに関してのメソッド一覧です!

なお、よく使っているメソッドを並べているので、全て知りたい方は以下のサイト(公式ドキュメント)をみてください。

9.x HTTPテスト Laravel

レスポンスが201かどうか

assertCreated

$response->assertCreated();

このメソッドではレスポンスのHTTPステータスコードが201かどうかということを調べています。

指定する文字列がレスポンスに含まれていない

assertDontSee

$response->assertDontSee($value, $escaped = true);

このメソッドでは、レスポンスに$valueが含まれていないかどうかということを調べています。

このメソッドでは2番目の引数に対してfalseを渡すと、その文字列が表示されるようになります。

(※あんまりテストには関係ない)

レスポンスがダウンロードであるかどうかということを調べる

assertDownload

$response->assertDownload();

または

$response->assertDownload('ファイル名');

このメソッドでは レスポンスが以下であるかどうかというのを調べています。

  • Rsponse::donwload
  • BinaryFileResponse
  • Storage::download

また、引数にファイル名を指定することで、そのファイルがダウンロードされるかどうかというのを調べることができます。

完全に一致するJSONデータかどうか

assertExactJson

$response->assertExactJson(array $data);

このメソッドでは、レスポンスの中に、完全一致するJSONデータが含まれているかどうかというのを調べることができます。

とびうおくん
とびうおくん

完全一致なので注意です!

レスポンスが403かどうか

assertForbidden

$response->assertForbidden();

このメソッドではレスポンスが403(Forbidden)かどうかということを調べることができます。

指定するJSONデータが含まれているかどうか

assertJson

$response->assertJson(array $data, $strict = false);

このメソッドでは、レスポンスに指定するJSONが含まれているかどうかというのを調べます。

こちらは、完全一致ではないので、他の情報がある場合もOKになります。

指定するJSONデータが含まれていない

assertJsonMissing

$response->assertJsonMissing(array $data);

このメソッドでは、指定するJSONデータがレスポンスに含まれていないことを調べます。

指定した文字列がレスポンスと一致するか

assertContent

$response->assertContent($value);

このメソッドでは、$valueがレスポンスの内容と一致するかどうかというのを調べます。

指定するHTTPステータスコードがあるかを調べる

assertNoContent

$response->assertNoContent($status = 200);

このメソッドでは、レスポンスの中に指定があるHTTPステータスコードがあるかどうかを調べています。

さらに、コンテンツがないことを調べていいます。

とびうおくん
とびうおくん

assertStatusの方が使うかもです

↑のメソッドはただ、ステータスコードを調べるだけのメソッドです

レスポンスが404かどうかを調べている

assertNotFound

$response->assertNotFound();

このメソッドでは、レスポンスが404かどうかを調べています。

レスポンスが200かどうか調べる

assertOk

$response->assertOk();

このメソッドではレスポンスが200であるかどうかとうことを調べています。

とびうおくん
とびうおくん

このメソッドが一番使う&わかりやすいですね

レスポンスが指定するURIへのリダイレクトであるか

assertRedirect

$response->assertRedirect($uri);

レスポンスが指定するURLへのリダイレクトかどうかということを調べています。

とびうおくん
とびうおくん

こちらもよく使います。

viewを返すのではくredirectの時に使います!

ただ、次に紹介するメソッドの方がいいかも?

レスポンスが指定する名前付きルートへリダイレクトするか

assertRedirectToRoute

$response->assertRedirectToRoute($name = null, $parameters = []);

レスポンスが指定の名前付きルートへリダイレクトするかどうかというのを調べてくれます。

正直、assertRedirectよりも便利

セッションでエラーを持っているか

assertSessionHasErrors

$response->assertSessionHasErrors(['name', 'email']);

このメソッドでは、エラーメッセージがあるかどうかというのを調べられます。

Requestファイル等でmessageを返しているものに使えますね。

指定HTTPステータスがコードがあるか

assertStatus

$response->assertStatus($code);

このメソッドではレスポンスに指定のHTTPステータスコードがあるかどうかというのを調べています。

ただレスポンスが成功したかどうか

assertSuccessful

$response->assertSuccessful();

このメソッドではレスポンスが200以上300未満、つまり成功したHTTPステータスコードかどうかを調べています。

とびうおくん
とびうおくん

assertOkでいいきもする

レスポンスが401かどうかを調べる

assertUnauthorized

$response->assertUnauthorized();

レスポンスが401かどううかというのを調べています。

指定するビューが返ってくる

assertViewIs

$response->assertViewIs($value);

指定するビューが返ってくることを調べてくれます。

とびうおくん
とびうおくん

こちらも正常系テストでよく使います!

laravelでテストを書くには

laravelでテストは案外とうかとても簡単にかけます。

書き方が気になった方は↓の記事をみてみてくださいね!

Laravel10でのテストの書き方
こんにちは!とびろぐ管理人のとびうおです。今回はLaravel10にて、簡単にテストを書く方法について詳しく解説していきたいと思います!とびうおくん今回はあるエンドポイントに対して、リクエストを送った際に期待する...

Laravelの他の記事

とびろぐでは他にも多くのLaravelの記事を書いています!ぜひみてみてください!

Laravel
「Laravel」の記事一覧です。
とびうお
ブログ管理人です!
swimaneというアプリをリリースしました!

コメント

タイトルとURLをコピーしました