NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Open source

Testing for Laravel

Inštalácia
composer require --dev roundly-consulting/testing-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

Prehľad

Testovacie nástroje pre Laravel balíky aj aplikácie, určené výhradne na vývoj a postavené tak, aby každá asercia vždy dokázala zlyhať. Obsahujú základný test case nad Testbench, štrukturálnu kontrolu poradia migrácií, spúšťač migrácií na reálnej databáze s negatívnou kontrolou, obojsmerný konfiguračný kontrakt, bezpečné zachytenie príkazu about, dôkaz výmeny modelu, kontrolu kontraktu fasády, záznamníky zámkov, maticu databázových driverov a deväť architektonických presetov — každý vznikol po skutočnej chybe, ktorú nezachytil test neschopný zlyhať. Inštalujete ho cez composer require --dev: bez service providera, nič z neho nebeží v produkcii, licencia MIT a žiadne závislosti okrem oficiálnych komponentov Laravelu, Pestu a Testbench.

Čo získate

Kontrola poradia migrácií

Načíta cudzie kľúče zo zdrojového kódu migrácií a overí, že rodičovské tabuľky vznikajú skôr — zlyhá už na SQLite, nielen na Postgrese.

Spúšťač na reálnej databáze

Aplikuje migrácie na živom Postgrese či MySQL s negatívnou kontrolou, ktorá dokáže, že engine chybné poradie odmietne.

Obojsmerný konfiguračný kontrakt

Každý čítaný kľúč je v konfigurácii a každý dodaný kľúč sa aj číta — zistené z tokenov PHP a Blade kódu, nikdy nie regexom.

Bezpečné zachytenie about

Skôr než overí, že neunikajú prístupové údaje, vyžaduje pozitívny dôkaz, že sa výstup about naozaj vykreslil.

Dôkaz výmeny modelu

Spustí reálny tok a overí konkrétnu triedu aj udalosti created každého modelu, ktorý má výmena vytvoriť.

Záznamník zámkov a matica driverov

Zviditeľní lockForUpdate() aj hĺbku transakcie na SQLite a spúšťa testy aj na reálnych databázových engine-och.

Kontrakt fasády a arch presety

Pripnite kontrakt fasáda → manažér → akcie — zdokumentovaný, s fake a s dosiahnuteľnou každou akciou — plus deväť jednoriadkových Pest arch presetov.

Dokumentácia

Inštalácia

Inštalácia ako vývojová závislosť; Pest expectations sa zaregistrujú samy cez Pest plugin balíka.

Základný test case pre balíky

PackageTestCase: SQLite v pamäti so zapnutými cudzími kľúčmi, migrácie podľa providera, výmena modelu pred bootom a reset bez down().

Kontrola poradia migrácií

Načíta cudzie kľúče zo zdrojového kódu migrácií a overí, že rodičovská tabuľka vzniká skôr — štrukturálna kontrola, ktorá zlyhá aj na SQLite.

Migrácie na reálnej databáze

Aplikujte migrácie na živom Postgrese či MySQL a dokážte, že engine chybné poradie odmietne — bez enginu sa test viditeľne preskočí.

Migrácie len na publikovanie

Overte, že balík publikuje migrácie s časovou pečiatkou a zároveň ich automaticky nenačítava — chyba duplicitnej tabuľky ako test.

Konfiguračný kontrakt

Overte obojsmerne, že konfigurácia obsahuje presne kľúče, ktoré kód číta — z PHP tokenov, s kontrolovanými výnimkami a režimom pre aplikácie.

Bezpečné zachytenie about

Zachyťte sekciu artisan about, dokážte, že sa vykreslila, a až potom overte, že neuniká žiadny prístupový údaj.

Dôkaz výmeny modelu

Spustite reálny tok a dokážte, že každý vytvorený model je podtrieda hostiteľa — podľa konkrétnej triedy a udalostí created, nie instanceof.

Kontrakt fasády

Pripnite kontrakt fasáda → manažér → akcie — zdokumentovaný koreň, skutočný fake, dosiahnuteľná každá akcia a modely vedené cez fasádu.

Architektonické presety

Deväť jednoriadkových Pest arch presetov — strict types, final ako predvolba, miesto výmeny modelov, politika závislostí, modely cez fasádu a ďalšie.

Výnimky z presetov

Výnimky zadávajte cez kontrolovaný parameter $ignoring, nie cez ->ignoring() — a ako sa prefixové výnimky overia za vás.

Záznamník zámkov

Zviditeľnite lockForUpdate() a hĺbku transakcie na SQLite — cez trait modelu alebo zaznamenávajúcu gramatiku.

Matica databázových driverov

Spúšťajte testy na SQLite, Postgrese či MySQL podľa premenných TESTING_DB_*, s izolovanými sondami a hotovou CI vetvou.

Použitie v aplikáciách

Tie isté asercie v bežnej Laravel aplikácii — bez balíka a bez zmeny základnej triedy — cez Pest alebo statické Assert.

Požiadavky

PHP 8.4+, Laravel 12 alebo 13 a Pest 4; Testbench 10 alebo 11 sa nainštaluje s ním. Inštalujte len do require-dev.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.