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

Метод reload класса KernelBrowser

Метод reload класса KernelBrowser повторно выполняет последний HTTP-запрос, который был отправлен через клиент. Метод не принимает обязательных параметров и возвращает объект Crawler с содержимым нового ответа. Его удобно использовать, когда нужно проверить поведение приложения после изменения данных в базе или после выполнения действий, влияющих на состояние сессии.

В отличие от повторного вызова метода request, метод reload сохраняет cookies, заголовки и параметры исходного запроса. Это позволяет имитировать повторное открытие той же страницы уже авторизованным пользователем.

Синтаксис

$crawler = $client->reload();

Пример

Давайте создадим тестовый класс, который отправляет запрос к странице, а затем перезагружает её:

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class ArticleControllerTest extends WebTestCase { public function testReload(): void { $client = static::createClient(); $client->request('GET', '/article'); $crawler = $client->reload(); $this->assertResponseIsSuccessful(); $this->assertSelectorTextContains('h1', 'article'); } } ?>

Пример

Давайте перезагрузим страницу после изменения данных в базе данных:

<?php namespace App\Tests\Controller; use App\Entity\Article; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class ArticleControllerTest extends WebTestCase { public function testReloadAfterChange(): void { $client = static::createClient(); $client->request('GET', '/article'); $this->assertSelectorTextContains('h1', 'hello'); $em = static::getContainer()->get(EntityManagerInterface::class); $article = $em->getRepository(Article::class)->findOneBy([]); $article->setTitle('abcde'); $em->flush(); $client->reload(); $this->assertSelectorTextContains('h1', 'abcde'); } } ?>

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

  • класс KernelBrowser,
    который используется для тестирования HTTP-запросов
  • метод request,
    который выполняет HTTP-запрос к приложению
  • метод followRedirect,
    который выполняет переход по редиректу
  • метод getResponse,
    который возвращает объект ответа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить