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

Метод assertPageTitleSame

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

Синтаксис

assertPageTitleSame(string $expectedTitle, string $message = '')

Пример

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

<?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</title> </head> <body> <p>hello</p> </body> </html>

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

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

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

<+terminal+> OK (1 test, 1 assertion) <-terminal+>

Пример

Если заголовок страницы не совпадает с ожидаемым, метод выбрасывает исключение и тест падает:

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

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

<+terminal+> Failed asserting that two strings are equal. --- Expected +++ Actual @@ @@ -'user' +'article' <-terminal+>

Как видно из вывода, метод сравнивает строки посимвольно и показывает разницу между ожидаемым и фактическим заголовком.

Пример

Метод можно использовать вместе с другими проверками в одном тесте:

<?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->assertResponseIsSuccessful(); $this->assertPageTitleSame('article'); $this->assertSelectorTextContains('p', 'hello'); } } ?>

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

<+terminal+> OK (1 test, 3 assertions) <-terminal+>

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

  • метод assertPageTitleContains,
    который проверяет наличие подстроки в заголовке страницы
  • метод assertSelectorTextSame,
    который проверяет точное совпадение текста элемента
  • метод assertSelectorTextContains,
    который проверяет наличие подстроки в тексте элемента
  • класс WebTestCase,
    который предоставляет методы для тестирования страниц
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить