㊗️

Laravelのテストレスポンスまとめた

2025/03/07に公開

Laravelのテストレスポンスには、さまざまなアサーションメソッドが用意されている。
PHPUnitでテストコード実装時にいつも調べていることに気付き億劫なため、よく使うであろうメソッドをまとめました。

ステータスコードの検証

assertStatus(int $status)

指定したHTTPステータスコードが返されたかどうかを検証する。

assertOk()

HTTPステータスコードが200であることを検証する。

assertNotFound()

HTTPステータスコードが404であることを検証する。

assertForbidden()

HTTPステータスコードが403であることを検証する。

assertUnauthorized()

HTTPステータスコードが401であることを検証する。

レスポンス内容の検証

assertJson(array $data)

レスポンスが指定した配列と一致するJSONデータを含んでいるかどうかを検証する。

assertExactJson(array $data)

レスポンスが指定した配列と完全に一致するJSONデータを含んでいるかどうかを検証する。

ヘッダーの検証

assertHeader(string $headerName, string $value = null)

レスポンスに指定したヘッダーが存在し、オプションでその値が期待値と一致するかどうかを検証する。

assertHeaderMissing(string $headerName)

レスポンスに指定したヘッダーが存在しないことを検証する。

リダイレクトの検証

assertRedirect(string $uri = null)

レスポンスがリダイレクトであり、オプションで指定したURIにリダイレクトするかどうかを検証する。

assertRedirectContains(string $uri)

レスポンスがリダイレクトであり、リダイレクト先のURIに指定した文字列が含まれているかどうかを検証する。

Discussion