Метод getResponse
Метод getResponse класса KernelBrowser возвращает объект
Response, который был сформирован после выполнения
HTTP-запроса. Этот метод используется в функциональных тестах
для проверки статуса ответа, заголовков и содержимого страницы.
Он не принимает параметров и вызывается после методов
request, click, submit и других,
которые инициируют запрос.
Синтаксис
$response = $client->getResponse();
Пример
Давайте создадим тест, который выполняет запрос к главной
странице и проверяет, что ответ содержит текст 'hello':
<?php
namespace App\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class ArticleControllerTest extends WebTestCase
{
public function testIndex(): void
{
$client = static::createClient();
$client->request('GET', '/');
$response = $client->getResponse();
$this->assertSame(200, $response->getStatusCode());
$this->assertStringContainsString('hello', $response->getContent());
}
}
?>
Результат выполнения теста:
OK (1 test, 2 assertions)
Пример
Давайте проверим заголовок Content-Type ответа:
<?php
namespace App\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class ArticleControllerTest extends WebTestCase
{
public function testContentType(): void
{
$client = static::createClient();
$client->request('GET', '/article');
$response = $client->getResponse();
$this->assertSame(
'application/json',
$response->headers->get('Content-Type')
);
}
}
?>
Результат выполнения теста:
OK (1 test, 1 assertion)
Смотрите также
-
класс
KernelBrowser,
который используется для тестирования HTTP-запросов -
метод
request,
который выполняет запрос к приложению -
метод
getRequest,
который возвращает объект Request -
метод
getCrawler,
который возвращает объект Crawler для парсинга HTML