---
title: "Testovanie — QR for Laravel | Roundly"
description: "Overujte skutočný výstup — dekódujte matice cez MatrixDecoder, kontrolujte Qr::info() a Qr::fits() a testujte hlavičky odpovedí cez HTTP."
url: https://roundly-consulting.com/sk/open-source/navody/qr-for-laravel/testovanie
language: sk
---

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

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

# Testovanie

## Zámerne bez fake

Qr nemá fake(). Kódovanie je čisté a deterministické — rovnaký vstup dá vždy rovnaký symbol — a nič sa nezapisuje, nezaraďuje do fronty, neposiela e-mailom ani inak (voliteľná SVG cache si pamätá len verejný výstup). Testy preto overujú skutočný výstup: dekódujte maticu a rozhodnutia o kódovaní čítajte cez Qr::info() a Qr::fits():

```php
use RoundlyConsulting\Qr\Facades\Qr;
use RoundlyConsulting\Qr\Testing\MatrixDecoder;

expect(MatrixDecoder::decode(Qr::otpauth($uri)->matrix())->bytes)->toBe($uri)
    ->and(Qr::info($uri)->version)->toBeLessThanOrEqual(10)
    ->and(Qr::fits($uri, maxVersion: 10))->toBeTrue();
```

## MatrixDecoder

RoundlyConsulting\\Qr\\Testing\\MatrixDecoder prečíta vygenerovanú maticu späť, takže môžete presne overiť, čo kód obsahuje:

```php
use RoundlyConsulting\Qr\Facades\Qr;
use RoundlyConsulting\Qr\Testing\MatrixDecoder;

it('encodes the provisioning URI unchanged', function () {
    $uri = 'otpauth://totp/Acme:jane@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Acme';

    expect(MatrixDecoder::decode(Qr::otpauth($uri)->matrix())->bytes)->toBe($uri);
});
```

Ide o dekodér dokonalých matíc pre testy, nie o skener obrázkov. Overí formátové a verziové informácie, odstráni masku, de-interleavuje, vyžaduje nulový Reed-Solomon syndróm pre každý blok a parsuje všetky segmenty, pričom hodnotu mimo rozsahu daného režimu považuje za chybu a neopravuje ju; chyby vyhodia MatrixDecodeException. Výsledok:

```php
$decoded = MatrixDecoder::decode($matrix);   // QrMatrix or a list of rows

$decoded->bytes;            // the encoded data
$decoded->version;
$decoded->errorCorrection;
$decoded->mask;
$decoded->segments;         // list<SegmentInfo>
$decoded->eciDesignator;    // ?int — the first ECI designator, as in EncodingInfo
```

## Testovanie odpovedí

Routy, ktoré vracajú kód, sú bežné HTTP odpovede, takže platia obvyklé asercie Laravelu:

```php
it('serves the table QR code as SVG', function () {
    $response = $this->get('/tables/12/qr');

    $response->assertOk()
        ->assertHeader('Content-Type', 'image/svg+xml; charset=utf-8')
        ->assertHeader('X-Content-Type-Options', 'nosniff');

    expect($response->headers->get('Cache-Control'))->toContain('public');
});
```

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