こんにちは!とびろぐ管理人のとびうおです!
今回はLaravelのテストのメソッド一覧をまとめたので、ぜひみてみてください!
今回はレスポンスに関してのメソッド一覧です!
なお、よく使っているメソッドを並べているので、全て知りたい方は以下のサイト(公式ドキュメント)をみてください。
- レスポンスが201かどうか
- 指定する文字列がレスポンスに含まれていない
- レスポンスがダウンロードであるかどうかということを調べる
- 完全に一致するJSONデータかどうか
- レスポンスが403かどうか
- 指定するJSONデータが含まれているかどうか
- 指定するJSONデータが含まれていない
- 指定した文字列がレスポンスと一致するか
- 指定するHTTPステータスコードがあるかを調べる
- レスポンスが404かどうかを調べている
- レスポンスが200かどうか調べる
- レスポンスが指定するURIへのリダイレクトであるか
- レスポンスが指定する名前付きルートへリダイレクトするか
- セッションでエラーを持っているか
- 指定HTTPステータスがコードがあるか
- ただレスポンスが成功したかどうか
- レスポンスが401かどうかを調べる
- 指定するビューが返ってくる
- laravelでテストを書くには
- 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でテストは案外とうかとても簡単にかけます。
書き方が気になった方は↓の記事をみてみてくださいね!
Laravelの他の記事
とびろぐでは他にも多くのLaravelの記事を書いています!ぜひみてみてください!
コメント