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

Метод assertResponseHeaderSame

Метод assertResponseHeaderSame относится к классу KernelBrowser и используется в функциональных тестах Symfony для проверки значения HTTP-заголовка в ответе. Первым параметром передаётся имя заголовка, вторым - ожидаемое значение. Если фактическое значение заголовка отличается от ожидаемого, тест завершается с ошибкой.

Синтаксис

$client->assertResponseHeaderSame(string $headerName, string $expectedValue);

Пример

Давайте создадим контроллер, который возвращает ответ с заголовком Content-Type и проверим его в тесте:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { $response = new Response('article'); $response->headers->set('Content-Type', 'text/plain'); return $response; } } ?>

Теперь напишем функциональный тест, который проверяет значение заголовка Content-Type:

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class ArticleControllerTest extends WebTestCase { public function testHeader(): void { $client = static::createClient(); $client->request('GET', '/article'); $client->assertResponseHeaderSame('Content-Type', 'text/plain'); } } ?>

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

OK (1 test, 1 assertion)

Пример

Давайте проверим пользовательский заголовок X-Custom-Header в ответе контроллера:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/user', name: 'article_user')] public function user(): Response { $response = new Response('user'); $response->headers->set('X-Custom-Header', 'abcde'); return $response; } } ?>

Тест проверит, что заголовок X-Custom-Header равен строке 'abcde':

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class ArticleControllerTest extends WebTestCase { public function testCustomHeader(): void { $client = static::createClient(); $client->request('GET', '/user'); $client->assertResponseHeaderSame('X-Custom-Header', 'abcde'); } } ?>

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

OK (1 test, 1 assertion)

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

  • метод assertResponseHasHeader,
    который проверяет наличие заголовка в ответе
  • метод assertResponseStatusCodeSame,
    который проверяет код состояния ответа
  • метод assertResponseRedirects,
    который проверяет редирект ответа
  • класс KernelBrowser,
    который предоставляет методы для тестирования ответов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить