---
title: "Testovanie — Package Toolkit for Laravel | Roundly"
description: "Migrácie balíka načítajte v jeho TestCase explicitne a strážcov konfigurácie, makrá a direktívy testujte cez verejné API."
url: https://roundly-consulting.com/sk/open-source/navody/package-toolkit-for-laravel/testovanie
language: sk
---

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

[Package Toolkit for Laravel](https://roundly-consulting.com/sk/open-source/navody/package-toolkit-for-laravel.md)

# Testovanie

Keďže migrácie sú len na publikovanie, balík postavený na toolkite musí vo svojej testovacej sade spustiť migrácie explicitne — napríklad v TestCase z Orchestra Testbench:

```php
use Orchestra\Testbench\TestCase as Orchestra;

abstract class TestCase extends Orchestra
{
    protected function getPackageProviders($app): array
    {
        return [CommentsServiceProvider::class];
    }

    protected function defineDatabaseMigrations(): void
    {
        // Migrations are publish-only — the package's own suite loads them explicitly.
        $this->loadMigrationsFrom(__DIR__.'/../database/migrations');
    }
}
```

Zaregistrujte tam aj svoj provider, aby builder, makrá a direktívy bootovali presne ako v hostiteľskej aplikácii. Potom asertujte cez verejné API — strážcovia konfigurácie vyhadzujú výnimky, LIKE makro berie zástupné znaky doslovne a podmienené Blade direktívy vykreslia správnu vetvu:

```php
use Illuminate\Support\Facades\Blade;
use RoundlyConsulting\PackageToolkit\Exceptions\InvalidConfigurationException;
use RoundlyConsulting\PackageToolkit\Support\Config;

it('rejects an out-of-range page size', function (): void {
    config()->set('comments.per_page', 500);

    Config::integer('comments.per_page', 20, min: 1, max: 100);
})->throws(InvalidConfigurationException::class, 'between 1 and 100');

it('treats user wildcards literally', function (): void {
    Comment::query()->create(['body' => 'hello world']);
    Comment::query()->create(['body' => 'he%lo there']);

    expect(Comment::query()->whereLikeEscaped('body', '%lo')->pluck('body')->all())
        ->toBe(['he%lo there']);
});

it('renders the else branch of the conditional directive', function (): void {
    $output = Blade::render('@commentsEnabled($flag) on @else off @endcommentsEnabled', ['flag' => false]);

    expect(trim($output))->toBe('off');
});
```

Vlastná sada toolkitu sa spúšťa cez composer test, proti testovaciemu balíku, ktorý precvičí každú metódu buildera aj každý voliteľný trait.

## 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/package-toolkit-for-laravel.md)
