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

Метод assertRedirect

Метод assertRedirect применяется к объекту ответа в тестах Laravel и проверяет, что полученный ответ является редиректом и перенаправляет на правильный URL. Метод принимает один параметр - ожидаемый URL для перенаправления. Если ответ не является редиректом или URL не совпадает, тест будет провален.

Синтаксис

<?php $response->assertRedirect($url); ?>

Пример

Давайте протестируем редирект после успешного создания новой статьи:

<?php namespace Tests\Feature; use Tests\TestCase; use App\Models\Article; class ArticleTest extends TestCase { public function test_store_redirects_to_article_page() { $data = [ 'title' => 'New Article', 'content' => 'Content of new article' ]; $response = $this->post('/articles', $data); $response->assertRedirect('/articles/1'); } } ?>

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

OK (1 test, 1 assertion)

Пример

Проверим редирект при обновлении статьи с возвратом на страницу редактирования:

<?php namespace Tests\Feature; use Tests\TestCase; use App\Models\Article; class ArticleTest extends TestCase { public function test_update_redirects_to_edit_page() { $article = Article::create([ 'title' => 'Old Title', 'content' => 'Old Content' ]); $data = [ 'title' => 'Updated Title', 'content' => 'Updated Content' ]; $response = $this->put("/articles/{$article->id}", $data); $response->assertRedirect("/articles/{$article->id}/edit"); } } ?>

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

OK (1 test, 1 assertion)

Пример

Проверим редирект после удаления статьи с возвратом на список статей:

<?php namespace Tests\Feature; use Tests\TestCase; use App\Models\Article; class ArticleTest extends TestCase { public function test_destroy_redirects_to_articles_list() { $article = Article::create([ 'title' => 'Article to Delete', 'content' => 'Content to Delete' ]); $response = $this->delete("/articles/{$article->id}"); $response->assertRedirect('/articles'); } } ?>

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

OK (1 test, 1 assertion)

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

  • метод assertRedirectToRoute,
    который проверяет редирект на именованный маршрут
  • метод followingRedirects,
    который автоматически выполняет все редиректы в тесте
  • метод assertStatus,
    который проверяет статус HTTP-ответа
  • метод assertOk,
    который проверяет успешный статус ответа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить