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

Testing for Laravel je balík výhradne pre vývoj — inštalujte ho do require-dev. Obsahuje asercie, základný test case, fixtures a Pest expectations. Nemá service provider, konfiguračný súbor ani migráciu a nič z neho nebeží v produkčnom kóde:

composer require --dev roundly-consulting/testing-for-laravel

Pest expectations sa registrujú automaticky cez Pest plugin balíka (extra.pest.plugins), takže sú dostupné hneď po inštalácii. Ak má vaša testovacia sada vypnuté objavovanie pluginov, zaregistrujte ich explicitne v tests/Pest.php:

<?php

declare(strict_types=1);

use RoundlyConsulting\Testing\Expectations\Expectations;

uses(Tests\TestCase::class)->in('Arch', 'Feature', 'Unit');

Expectations::register(); // idempotent — a no-op if the Pest plugin already ran

Obe cesty môžu fungovať súčasne: Expectations::register() sa stráži interným príznakom, takže volanie po tom, ako už prebehol plugin, nič nerobí. Expectations::registered() vráti, či registrácia prebehla.

Rovnako ako vyššie naviažte na svoj TestCase aj adresár Arch. Viaceré kontroly čítajú spustenú aplikáciu — okrem iných swappableModelsAreNotFinal, toBeSwappableVia a toBeFakeable — a arch súbor bez TestCase žiadnu nemá; namiesto prázdneho úspechu zlyhajú s návodom.

Tri spôsoby volania

Asercie sú dostupné v troch štýloch. Uprednostnite Pest expectation — je to kanonické, zdokumentované API:

use RoundlyConsulting\Testing\Arch\ArchPresets;
use RoundlyConsulting\Testing\Assert;

// 1. Pest expectation — the canonical API
expect(database_path('migrations'))->toHaveRunnableMigrationOrder();

// 2. Static mirror — for plain PHPUnit test classes
Assert::migrationsRunInDependencyOrder(database_path('migrations'));

// 3. Arch preset — at the top level of a Pest arch file
ArchPresets::strictTypes('App');
PríkladSpôsob
expect($dir)->toHaveRunnableMigrationOrder()Pest expectation — kanonické API v akejkoľvek Pest sade.
Assert::migrationsRunInDependencyOrder($dir)Statické zrkadlo — PHPUnit testy postavené na triedach.
ArchPresets::strictTypes($namespace)Arch preset — najvyššia úroveň Pest arch súboru; sám si zaregistruje test.

Časti pre balíky a pre aplikácie

  • Funguje v akejkoľvek Laravel aplikácii bez Testbench: statické Assert, všetky Pest expectations okrem dvoch strážcov publikovaných migrácií a ArchPresets. Vlastný arch test balíka vynucuje, že žiadna z týchto častí neodkazuje na Testbench.
  • Len pre balíky: PackageTestCase, concern LoadsProviderMigrations a expectations toNotAutoLoadMigrations / toPublishMigrationsTimestamped — predpokladajú service provider balíka a Testbench.

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.