РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
253 of 274 menu

Метод set класса Testable

Метод set класса Testable позволяет устанавливать значения публичных свойств компонента Livewire во время тестирования. Он принимает два параметра: имя свойства и его новое значение. Метод возвращает тот же экземпляр Testable, что позволяет использовать цепочки вызовов.

Синтаксис

$component->set('propertyName', $value);

Пример

Давайте протестируем компонент счетчика, установив его начальное значение через метод set:

<?php namespace AppLivewire; use LivewireComponent; class Counter extends Component { public $num = 0; public function inc() { $this->num++; } public function render() { return view('livewire.counter'); } } ?>
<?php namespace TestsFeatureLivewire; use LivewireLivewire; use AppLivewireCounter; use TestsTestCase; class CounterTest extends TestCase { public function test_set_property_value() { $component = Livewire::test(Counter::class); $component->set('num', 10); $component->assertSet('num', 10); } } ?>

Результат выполнения кода:

OK (1 test, 1 assertion)

Пример

Установим свойство $text в компоненте и проверим его отображение в шаблоне:

<?php namespace AppLivewire; use LivewireComponent; class Message extends Component { public $text = 'default'; public function render() { return view('livewire.message'); } } ?>
<div> <p>{{ $text }}</p> </div>
<?php namespace TestsFeatureLivewire; use LivewireLivewire; use AppLivewireMessage; use TestsTestCase; class MessageTest extends TestCase { public function test_set_text_property() { $component = Livewire::test(Message::class); $component->set('text', 'hello world'); $component->assertSee('hello world'); } } ?>

Результат выполнения кода:

OK (1 test, 2 assertions)

Пример

Используем цепочку вызовов для установки нескольких свойств перед выполнением действия:

<?php namespace AppLivewire; use LivewireComponent; class UserProfile extends Component { public $name = ''; public $email = ''; public function updateProfile() { // Сохранение профиля } public function render() { return view('livewire.user-profile'); } } ?>
<?php namespace TestsFeatureLivewire; use LivewireLivewire; use AppLivewireUserProfile; use TestsTestCase; class UserProfileTest extends TestCase { public function test_update_profile_with_set() { $component = Livewire::test(UserProfile::class); $component->set('name', 'John Doe') ->set('email', 'john@example.com') ->call('updateProfile'); $component->assertSet('name', 'John Doe') ->assertSet('email', 'john@example.com'); } } ?>

Результат выполнения кода:

OK (1 test, 3 assertions)

Смотрите также

  • метод call,
    который вызывает метод компонента из теста
  • метод assertSet,
    который проверяет значение свойства компонента
  • метод assertSee,
    который проверяет наличие текста в HTML
  • метод toggle,
    который переключает значение свойства
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить