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

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

Метод enableProfiler класса KernelBrowser включает сбор данных профилировщика при выполнении запросов в функциональных тестах. По умолчанию профилировщик отключён в тестовом окружении, поэтому перед обращением к методу getProfile необходимо явно вызвать enableProfiler. Метод не принимает параметров и возвращает тот же объект KernelBrowser, что позволяет использовать цепочку вызовов.

Синтаксис

$client->enableProfiler();

Пример

Давайте включим профилировщик и получим данные о запросе после обращения к маршруту:

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class ArticleControllerTest extends WebTestCase { public function testIndex(): void { $client = static::createClient(); $client->enableProfiler(); $client->request('GET', '/article'); $profile = $client->getProfile(); echo $profile->getCollector('request')->getMethod(); } } ?>

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

"GET"

Пример

Давайте проверим количество выполненных SQL-запросов на странице:

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class ArticleControllerTest extends WebTestCase { public function testQueryCount(): void { $client = static::createClient(); $client->enableProfiler(); $client->request('GET', '/article'); $profile = $client->getProfile(); $queries = $profile->getCollector('db')->getQueryCount(); echo $queries; } } ?>

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

3

Пример

Давайте включим профилировщик перед несколькими запросами и получим профиль последнего из них:

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class ArticleControllerTest extends WebTestCase { public function testMultipleRequests(): void { $client = static::createClient(); $client->enableProfiler(); $client->request('GET', '/article'); $client->enableProfiler(); $client->request('GET', '/user'); $profile = $client->getProfile(); echo $profile->getCollector('request')->getPathInfo(); } } ?>

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

"/user"

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

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