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

Метод getProfile

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

Синтаксис

public function getProfile(string $profile = null): ?Profile

Пример

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

<?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(); $this->assertNotFalse($profile); echo $profile->getTime(); } } ?>

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

15.23

Пример

Давайте получим количество запросов в базу данных через коллектор db:

<?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(); $dbCollector = $profile->getCollector('db'); echo $dbCollector->getQueryCount(); } } ?>

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

5

Пример

Давайте проверим, что во время запроса не было отправлено писем:

<?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(); $mailCollector = $profile->getCollector('mailer'); echo $mailCollector->getEvents()->count(); } } ?>

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

0

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

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