Метод assertSee
Метод assertSee применяется к объекту ответа в тестах Laravel и позволяет проверить, содержит ли HTML-страница указанную строку. Первым параметром передаётся искомая строка. Вторым параметром можно передать булево значение для указания необходимости экранирования HTML-сущностей. Если второй параметр не указан, используется значение по умолчанию false.
Синтаксис
<?php
$response->assertSee($text);
$response->assertSee($text, $escaped = false);
?>
Пример
Давайте проверим, что страница содержит заголовок "Welcome to our website":
<?php
namespace Tests\Feature;
use Tests\TestCase;
class PageTest extends TestCase
{
public function test_page_contains_welcome_text()
{
$response = $this->get('/');
$response->assertSee('Welcome to our website');
}
}
?>
Результат выполнения кода:
"Test passed successfully"
Пример
Давайте проверим, что страница содержит HTML-код с тегами:
<?php
namespace Tests\Feature;
use Tests\TestCase;
class PageTest extends TestCase
{
public function test_page_contains_html_tags()
{
$response = $this->get('/');
$response->assertSee('<h1>Welcome</h1>', false);
$response->assertSee('<h1>Welcome</h1>', true);
}
}
?>
Результат выполнения кода:
"Test passed successfully"
В первом случае проверяется наличие точного HTML-кода, во втором - экранированной версии.
Пример
Давайте проверим наличие текста в определённом теге с использованием селекторов:
<?php
namespace Tests\Feature;
use Tests\TestCase;
class PageTest extends TestCase
{
public function test_page_contains_text_in_specific_tag()
{
$response = $this->get('/');
$response->assertSee('Article title');
$response->assertSee('Published', false);
}
}
?>
Результат выполнения кода:
"Test passed successfully"
Смотрите также
-
метод
assertDontSee,
который проверяет отсутствие текста на странице -
метод
assertSeeText,
который проверяет наличие текста без учёта HTML-тегов -
метод
get,
который выполняет GET-запрос в тестах -
метод
assertStatus,
который проверяет код статуса HTTP-ответа