Метод createClient
Метод createClient принадлежит классу
WebTestCase
и создаёт объект
KernelBrowser,
который выступает в роли браузера. Через этого
клиента выполняются HTTP-запросы к приложению,
а также проверяется ответ сервера. Первым
параметром можно передать массив опций, например
['environment' => 'test']. Вторым параметром
можно передать серверные переменные.
Синтаксис
<?php
protected static function createClient(array $options = [], array $server = []): KernelBrowser
?>
Пример
Давайте создадим клиента и выполним запрос к главной странице:
<?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', '/');
$this->assertResponseIsSuccessful();
}
}
?>
Результат выполнения кода:
"test passed"
Пример
Давайте передадим опции клиенту, чтобы задать окружение и серверные переменные:
<?php
namespace App\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class ArticleControllerTest extends WebTestCase
{
public function testIndex(): void
{
$client = static::createClient(
['environment' => 'test'],
['HTTP_HOST' => 'example.com']
);
$client->request('GET', '/article');
$this->assertResponseIsSuccessful();
$this->assertSelectorTextContains('h1', 'Article');
}
}
?>
Результат выполнения кода:
"test passed"
Смотрите также
-
класс
WebTestCase,
который является базовым для функциональных тестов -
класс
KernelBrowser,
который возвращает метод createClient -
метод
request,
который выполняет HTTP-запрос через клиента -
метод
loginUser,
который авторизует пользователя в тестах