Запуск теста в Livewire
Пусть в проекте уже есть компонент поста, но убедиться, что он вообще поднимается, нечем, кроме браузера: любая опечатка в классе всплывёт только после ручного открытия адреса.
Метод test у фасада Livewire
создаёт компонент так,
как это делает фреймворк
на запросе, и сразу
отдаёт цепочку проверок.
Первый шаг - убедиться,
что отрисовка проходит
без сбоя, через проверку
статуса ответа.
Давайте создадим компонент
PostNote и класс
теста PostNoteTest:
php artisan make:livewire PostNote --class
php artisan make:test PostNoteTest
Давайте зададим простой шаблон с текстом Note:
<div>Note</div>
Давайте оставим класс компонента без лишней логики:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostNote extends Component
{
public function render()
{
return view('livewire.post-note');
}
}
?>
Давайте в каталоге Feature напишем тест, который поднимает компонент:
<?php
namespace Tests\Feature;
use Tests\TestCase;
use App\Livewire\PostNote;
use Livewire\Livewire;
class PostNoteTest extends TestCase
{
public function test_note_renders(): void
{
Livewire::test(PostNote::class)
->assertStatus(200);
}
}
?>
Давайте запустим только этот класс в терминале:
php artisan test --filter=PostNoteTest
Создайте компонент
EmployeeNote и тест
EmployeeNoteTest.
Тест убеждается, что
страница работника
открывается без ошибки.