РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1197 of 1392 menu

Метод assertStatus

Метод assertStatus применяется к объекту ответа, возвращаемому тестовым запросом, и проверяет, совпадает ли фактический HTTP-статус ответа с ожидаемым. Метод принимает один обязательный параметр - целочисленный код статуса. Если статус ответа не совпадает с указанным значением, тест будет считаться проваленным с соответствующим сообщением об ошибке.

Синтаксис

<?php $this->assertStatus($status); ?>

Пример

Давайте проверим, что маршрут для получения списка статей возвращает статус 200 при успешном запросе:

<?php namespace Tests\Feature; use Tests\TestCase; class ArticleTest extends TestCase { public function test_successful_articles_index() { $response = $this->get('/api/articles'); $response->assertStatus(200); } } ?>

Результат выполнения кода:

"Test passed: status code 200 matches expected"

Пример

Давайте проверим, что создание новой статьи возвращает статус 201 (Created) при валидных данных:

<?php namespace Tests\Feature; use Tests\TestCase; use App\Models\Article; class ArticleTest extends TestCase { public function test_article_creation_returns_created_status() { $data = [ 'title' => 'New Article', 'content' => 'This is a new article content' ]; $response = $this->postJson('/api/articles', $data); $response->assertStatus(201); } } ?>

Результат выполнения кода:

"Test passed: status code 201 matches expected"

Пример

Давайте проверим, что попытка получить несуществующую статью возвращает статус 404:

<?php namespace Tests\Feature; use Tests\TestCase; class ArticleTest extends TestCase { public function test_non_existent_article_returns_not_found() { $response = $this->get('/api/articles/999'); $response->assertStatus(404); } } ?>

Результат выполнения кода:

"Test passed: status code 404 matches expected"

Пример

Давайте проверим, что при неудачной валидации данных возвращается статус 422 (Unprocessable Entity):

<?php namespace Tests\Feature; use Tests\TestCase; class ArticleTest extends TestCase { public function test_invalid_data_returns_unprocessable_status() { $invalidData = ['title' => '']; $response = $this->postJson('/api/articles', $invalidData); $response->assertStatus(422); } } ?>

Результат выполнения кода:

"Test passed: status code 422 matches expected"

Смотрите также

  • метод assertOk,
    который проверяет статус 200
  • метод assertCreated,
    который проверяет статус 201
  • метод assertNotFound,
    который проверяет статус 404
  • метод assertUnauthorized,
    который проверяет статус 401
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить