---
title: "Inštalácia — Testing for Laravel | Roundly"
description: "Inštalácia ako vývojová závislosť; Pest expectations sa zaregistrujú samy cez Pest plugin balíka."
url: https://roundly-consulting.com/sk/open-source/navody/testing-for-laravel/instalacia
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Testing for Laravel](https://roundly-consulting.com/sk/open-source/navody/testing-for-laravel.md)

# Inštalácia

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:

```bash
composer require --dev roundly-consulting/testing-for-laravel --with-all-dependencies
```

\--with-all-dependencies (-W) je dôležitý v novej Laravel aplikácii: jej kostra zamyká phpunit/phpunit, ktorý vaša hlavná verzia Pestu nemusí pripúšťať — každá minor verzia Pestu obmedzuje podporovaný patch PHPUnitu, pričom Pest 4 potrebuje PHPUnit 12 a Pest 5 PHPUnit 13 —, takže obyčajný composer require --dev na zamknutých verziách zlyhá. -W dovolí Composeru presunúť PHPUnit na podporovanú verziu. Projekty, ktoré už Pest 4 alebo Pest 5 používajú, prepínač nepotrebujú: Composer nainštaluje balík k hlavnej verzii Pestu, ktorú máte.

## Pest 4 alebo Pest 5

- Balík vyžaduje pestphp/pest ^4.0|^5.0, takže zapadne do sady, ktorú už používate.
- Pest 4 beží na Laraveli 12 aj 13 (PHPUnit 12).
- Pest 5 je podporovaný od verzie 1.1.0 — použite ^1.1 — a beží len na Laraveli 13: potrebuje PHPUnit 13 a symfony/process 8, kým Laravel 12 vyžaduje Symfony 7 a Testbench 10 je v konflikte s PHPUnit 13. Kombináciu Pest 5 a Laravel 12 Composer nevyrieši.
- Každá expectation, arch preset aj základný test case sa na oboch hlavných verziách správajú rovnako; CI balíka beží na Laravel 12 + Pest 4, Laravel 13 + Pest 4 a Laravel 13 + Pest 5.

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
<?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:

```php
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íklad | Spô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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/testing-for-laravel.md)
