Toolverse
Wszystkie skille

developing-with-turbo-tests

autor: hotwired-laravel

Testuj Turbo Frames, Streams i Native — asercje dla Laravel

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

O skillu

Skill do testowania aplikacji webowych opartych na Turbo w Laravel. Dodaj trait InteractsWithTurbo do swoich testów PHPUnit lub Pest, a zyskasz metody do symulowania żądań Turbo ($this->turbo(), $this->fromTurboFrame(), $this->hotwireNative()) oraz asercji odpowiedzi (assertTurboStream(), assertRedirectRecede(), assertBroadcasted()). Automatycznie wyłącza kolejkowanie podczas testów, przetwarzając broadcasty synchronicznie. Idealny do pisania feature testów dla Turbo Stream responses i weryfikacji zachowania Turbo Native.

Jak używać

  1. Dodaj trait InteractsWithTurbo do klasy testowej lub bazowej TestCase — importuj HotwiredLaravel\TurboLaravel\Testing\InteractsWithTurbo i umieść use InteractsWithTurbo; w ciele klasy.

  2. Symuluj żądania Turbo Stream za pomocą $this->turbo()->post(), $this->turbo()->put() lub $this->turbo()->delete() — metoda turbo() ustawia odpowiedni nagłówek Accept dla Turbo Stream.

  3. Symuluj żądania z konkretnego Turbo Frame używając $this->fromTurboFrame('frame-id')->get() — przydatne do testowania odpowiedzi dla poszczególnych framów.

  4. Asertuj odpowiedzi Turbo Stream za pomocą ->assertTurboStream() po żądaniu — możesz też użyć assertNotTurboStream() do weryfikacji, że odpowiedź nie jest Turbo Stream.

  5. Testuj broadcasty poprzez TurboStream::fake(), a następnie assertBroadcasted(), assertNothingWasBroadcasted() lub assertBroadcastedTimes() — konfiguracja turbo-laravel.queue jest automatycznie ustawiana na false podczas testów.

  6. Dla żądań Turbo Native użyj $this->hotwireNative() zamiast turbo() — pozwala testować zachowanie aplikacji na urządzeniach mobilnych.

Podobne skille