assertSee
Метод assertSee класса Testable вешается на экземпляр компонента Livewire и проверяет наличие указанного текста в HTML-коде после рендеринга. В значение передаётся строка, которая должна присутствовать в выводе компонента.
Синтаксис
$component->assertSee('text')
Пример
Давайте проверим, что компонент выводит значение свойства $text:
<?php
namespace App\Livewire;
use Livewire\Component;
class ShowText extends Component
{
public $text = 'Hello, World!';
public function render()
{
return view('livewire.show-text');
}
}
?>
<div>
<p>{{ $text }}</p>
</div>
Тест, который проверяет наличие текста:
<?php
namespace Tests\Unit;
use Tests\TestCase;
use Livewire\Livewire;
use App\Livewire\ShowText;
class ShowTextTest extends TestCase
{
public function test_see_text()
{
$component = Livewire::test(ShowText::class);
$component->assertSee('Hello, World!');
}
}
?>
Пример
Проверим, что в списке отображаются элементы массива $arr:
<?php
namespace App\Livewire;
use Livewire\Component;
class ListItems extends Component
{
public $arr = ['a', 'b', 'c'];
public function render()
{
return view('livewire.list-items');
}
}
?>
<ul>
@foreach ($arr as $item)
<li>{{ $item }}</li>
@endforeach
</ul>
Тест проверяет наличие каждого элемента в списке:
<?php
namespace Tests\Unit;
use Tests\TestCase;
use Livewire\Livewire;
use App\Livewire\ListItems;
class ListItemsTest extends TestCase
{
public function test_see_list_items()
{
$component = Livewire::test(ListItems::class);
$component
->assertSee('a')
->assertSee('b')
->assertSee('c');
}
}
?>
Пример
Проверим, что значение свойства $num отображается после его изменения методом updateNum:
<?php
namespace App\Livewire;
use Livewire\Component;
class Counter extends Component
{
public $num = 0;
public function updateNum($value)
{
$this->num = $value;
}
public function render()
{
return view('livewire.counter');
}
}
?>
<div>
<span>{{ $num }}</span>
</div>
Тест проверяет, что после вызова метода в HTML появилось новое значение:
<?php
namespace Tests\Unit;
use Tests\TestCase;
use Livewire\Livewire;
use App\Livewire\Counter;
class CounterTest extends TestCase
{
public function test_see_updated_num()
{
$component = Livewire::test(Counter::class);
$component
->assertSee(0)
->call('updateNum', 10)
->assertSee(10);
}
}
?>
Смотрите также
-
метод
assertDontSee,
который проверяет отсутствие текста на странице -
метод
assertSeeHtml,
который проверяет наличие HTML-кода -
метод
assertSet,
который проверяет значение свойства компонента -
метод
call,
который вызывает метод компонента в тесте