Testing JSON APIs
Laravel Test HTTP Tests: Testing JSON APIs
Assert Method | Example |
---|---|
assertCookie | $response->assertCookie($cookieName, $value = null); |
assertCookieExpired | $response->assertCookieExpired($cookieName); |
assertCookieNotExpired | $response->assertCookieNotExpired($cookieName); |
assertCookieMissing | $response->assertCookieMissing($cookieName); |
assertCreated | $response->assertCreated(); |
assertDontSee | $response->assertDontSee($value, $escaped = true); |
assertDontSeeText | $response->assertDontSeeText($value, $escaped = true); |
assertDownload | $response->assertDownload(); , $response->assertDownload('image.jpg'); |
assertExactJson | $response->assertExactJson(array $data); |
assertForbidden | $response->assertForbidden(); |
assertHeader | $response->assertHeader($headerName, $value = null); |
assertHeaderMissing | $response->assertHeaderMissing($headerName); |
assertJson | $response->assertJson(array $data, $strict = false); |
assertJsonCount | $response->assertJsonCount($count, $key = null); |
assertJsonFragment | $response->assertJsonFragment(['name' => 'Taylor Otwell']); |
assertJsonMissing | $response->assertJsonMissing(array $data); |
assertJsonMissingExact | $response->assertJsonMissingExact(array $data); |
assertJsonMissingValidationErrors | $response->assertJsonMissingValidationErrors($keys); |
assertJsonPath | $response->assertJsonPath($path, $expectedValue); , $response->assertJsonPath('user.name', 'Steve Schoger'); |
assertJsonMissingPath | $response->assertJsonMissingPath($path); |
assertJsonStructure | $response->assertJsonStructure(array $structure); |
assertJsonValidationErrors | $response->assertJsonValidationErrors(array $data, $responseKey = 'errors'); |
assertJsonValidationErrorFor | $response->assertJsonValidationErrorFor(string $key, $responseKey = 'errors'); |
assertLocation | $response->assertLocation($uri); |
assertContent | $response->assertContent($value); |
assertNoContent | $response->assertNoContent($status = 204); |
assertStreamedContent | $response->assertStreamedContent($value); |
assertNotFound | $response->assertNotFound(); |
assertOk | $response->assertOk(); |
assertPlainCookie | $response->assertPlainCookie($cookieName, $value = null); |
assertRedirect | $response->assertRedirect($uri); |
assertRedirectContains | $response->assertRedirectContains($string); |
assertRedirectToRoute | $response->assertRedirectToRoute($name = null, $parameters = []); |
assertRedirectToSignedRoute | $response->assertRedirectToSignedRoute($name = null, $parameters = []); |
assertSee | $response->assertSee($value, $escaped = true); |
assertSeeInOrder | $response->assertSeeInOrder(array $values, $escaped = true); |
assertSeeText | $response->assertSeeText($value, $escaped = true); |
assertSeeTextInOrder | $response->assertSeeTextInOrder(array $values, $escaped = true); |
assertSessionHas | $response->assertSessionHas($key, $value = null); |
assertSessionHasInput | $response->assertSessionHasInput($key, $value = null); |
assertSessionHasAll | $response->assertSessionHasAll(array $data); |
assertSessionHasErrors | $response->assertSessionHasErrors(array $keys, $format = null, $errorBag = 'default'); |
assertSessionHasErrorsIn | $response->assertSessionHasErrorsIn($errorBag, $keys = [], $format = null); |
assertSessionHasNoErrors | $response->assertSessionHasNoErrors(); |
assertSessionDoesntHaveErrors | $response->assertSessionDoesntHaveErrors($keys = [], $format = null, $errorBag = 'default'); |
assertSessionMissing | $response->assertSessionMissing($key); |
assertStatus | $response->assertStatus($code); |
assertSuccessful | $response->assertSuccessful(); |
assertUnauthorized | $response->assertUnauthorized(); |
assertUnprocessable | $response->assertUnprocessable(); |
assertValid | $response->assertValid(['name', 'email']); |
assertInvalid | $response->assertInvalid(['name', 'email']); |
assertViewHas | $response->assertViewHas($key, $value = null); |
assertViewHasAll | $response->assertViewHasAll(array $data); |
assertViewIs | $response->assertViewIs($value); |
assertViewMissing | $response->assertViewMissing($key); |
Assert Method | Example |
---|---|
assertAuthenticated | $this->assertAuthenticated($guard = null); |
assertGuest | $this->assertGuest($guard = null); |
assertAuthenticatedAs | $this->assertAuthenticatedAs($user, $guard = null); |
$response = $this->withHeaders([
'X-Header' => 'Value',
])->post('/user', ['name' => 'Sally']);
$response->assertStatus(201);
$response = $this->withCookie('color', 'blue')->get('/');
$response = $this->withCookies([
'color' => 'blue',
'name' => 'Taylor',
])->get('/');
$response = $this->withSession(['banned' => false])->get('/');
$user = User::factory()->create();
$response = $this->actingAs($user)
->withSession(['banned' => false])
->get('/');
class ExampleTest extends TestCase
{
public function test_basic_test()
{
$response = $this->get('/');
$response->dumpHeaders();
$response->dumpSession();
$response->dump();
$response->dd();
}
}
$response = $this->withoutExceptionHandling()->get('/');
$response = $this->withoutDeprecationHandling()->get('/');
Laravel Test HTTP Tests: Testing JSON APIs
Laravel Test HTTP Tests: Testing File Uploads
Laravel Test HTTP Tests: Laravel Passport API Auth Test