Проверка assertSee в тестах Laravel
Статус 200 говорит, что
страница открылась. Но не видно,
есть ли на ней нужный заголовок
или текст. Для этого есть
assertSee - проверка,
что в HTML ответа встречается
указанная строка.
Сначала делают get,
потом вызывают assertSee
на ответе:
<?php
namespace Tests\Feature;
use Tests\TestCase;
class PostIndexTest extends TestCase
{
public function test_posts_index_shows_title(): void
{
$response = $this->get('/posts');
$response->assertSee('Posts');
}
}
?>
Строка ищется в теле ответа.
Если заголовка нет или опечатка
в шаблоне - тест упадёт.
Так ловят пустую страницу
со статусом 200, где
пропал нужный текст.
В assertSee передают
фрагмент, который реально есть
в Blade: заголовок, кнопка,
сообщение. Не обязательно
копировать весь HTML - достаточно
узнаваемой строки.
Добавьте assertSee
с текстом со своей страницы.
Специально измените строку в тесте и убедитесь, что тест падает.
Чем assertSee
дополняет проверку статуса?