Метод assertSelectorTextContains
Метод assertSelectorTextContains
относится к трейту WebTestCase и
используется в функциональных тестах. Он
принимает первым параметром CSS-селектор,
вторым - подстроку для поиска. Метод
проходит, если текст внутри найденного
элемента содержит указанную подстроку.
Если элемент не найден или текст не
содержит подстроку, тест завершается
с ошибкой.
Синтаксис
assertSelectorTextContains(string $selector, string $text)
Пример
Давайте создадим тест, который
проверяет, что заголовок h1
на странице содержит слово '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->assertSelectorTextContains('h1', 'article');
}
}
?>
Пример
Давайте проверим, что текст внутри
элемента .message содержит
строку 'hello':
<?php
namespace App\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class ArticleControllerTest extends WebTestCase
{
public function testMessage(): void
{
$client = static::createClient();
$client->request('GET', '/article');
$this->assertSelectorTextContains('.message', 'hello');
}
}
?>
Пример
Давайте проверим, что текст внутри
элемента #title содержит
строку 'user', используя
переменную:
<?php
namespace App\Tests\Controller;
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
class ArticleControllerTest extends WebTestCase
{
public function testTitle(): void
{
$client = static::createClient();
$client->request('GET', '/article');
$text = 'user';
$this->assertSelectorTextContains('#title', $text);
}
}
?>
Смотрите также
-
метод
assertSelectorExists,
который проверяет наличие элемента на странице -
метод
assertSelectorTextSame,
который проверяет точное совпадение текста -
метод
assertSelectorTextNotContains,
который проверяет отсутствие подстроки в тексте -
класс
KernelBrowser,
который используется для выполнения запросов в тестах