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

Метод assertPageTitleContains

Метод assertPageTitleContains из класса WebTestCase проверяет, что заголовок текущей страницы содержит указанную подстроку. Первым параметром передаётся искомая строка. Если заголовок не содержит её, тест завершается ошибкой. Метод удобен, когда нужно убедиться, что страница отдала правильный заголовок в теге title.

Синтаксис

assertPageTitleContains(string $expectedTitle)

Пример

Давайте создадим контроллер, который отдаёт страницу с заголовком 'Article page', и проверим его:

<?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 { return $this->render('article/index.html.twig'); } } ?>

Создадим Twig-шаблон для этой страницы:

<!DOCTYPE html> <html> <head> <title>Article page</title> </head> <body> <p>hello</p> </body> </html>

Теперь напишем тест, который проверяет, что заголовок содержит подстроку 'Article':

<?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', '/article'); $this->assertPageTitleContains('Article'); } } ?>

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

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(); $client->request('GET', '/article'); $this->assertPageTitleContains('User'); } } ?>

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

FAILURES! Tests: 1, Assertions: 1, Failures: 1.

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

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