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

Класс WebTestCase

Класс WebTestCase расширяет KernelTestCase и предназначен для тестирования HTTP-запросов и ответов приложения. Он предоставляет статический метод createClient, который создаёт объект KernelBrowser для выполнения запросов к приложению. Также класс содержит множество assert-методов для проверки ответов, селекторов, форм, писем и других аспектов работы веб-приложения.

Синтаксис

use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class MyTest extends WebTestCase { public function testSomething(): void { $client = static::createClient(); $crawler = $client->request('GET', '/'); $this->assertResponseIsSuccessful(); } }

Пример

Давайте создадим простой тест, который проверяет успешность ответа главной страницы:

<?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(); } } ?>

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

OK (1 test, 1 assertion)

Пример

Давайте проверим, что на странице присутствует определённый текст:

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class ArticleControllerTest extends WebTestCase { public function testIndex(): void { $client = static::createClient(); $crawler = $client->request('GET', '/'); $this->assertResponseIsSuccessful(); $this->assertSelectorTextContains('h1', 'hello'); } } ?>

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

OK (1 test, 2 assertions)

Пример

Давайте выполним POST-запрос и проверим статус ответа:

<?php namespace App\Tests\Controller; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; class ArticleControllerTest extends WebTestCase { public function testCreate(): void { $client = static::createClient(); $client->request('POST', '/article', [ 'title' => 'abcde', ]); $this->assertResponseStatusCodeSame(201); } } ?>

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

OK (1 test, 1 assertion)

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

  • метод createClient,
    который создаёт клиент для выполнения запросов
  • класс KernelBrowser,
    который выполняет запросы к ядру приложения
  • метод assertResponseIsSuccessful,
    который проверяет успешность ответа
  • класс KernelTestCase,
    который тестирует ядро приложения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить