47.18.2.1. fixtures

Fixtures jsou vzorky dat, datových záznamů, které jsou nám k dispozici v průběhu testování. Můžeme je specifikovat několika způsoby.

Jako YAML soubor. V této variantě jsou všechny záznamy zapsány v YAML souboru v test/fixtures/tabulka.yml. Každý záznam má formu:

jina:
    id: 2
    skupina: ostatni
    nazev: Jiná společnost, s.r.o
    jednatel: Vašek Jednák
    ulice: MyString
    mesto: Brno
    psc: 01234
    ico: 01234568

První řádek je symbolický název záznamu pomocí kterého se na záznam můžeme odkazovat. Dále následují jednotlivá pole s hodnotami. Pole id nemusíme definovat, bude vyplněnou automaticky.

Jako CSV soubor. Dalším způsobem zápisu je csv soubor. Ten dovoluje „hustější“ zápis kdy každý řádek definuje jeden záznam.

id, skupina, nazev, jednatel
1, ostatni, "Jiná společnost, s.r.o.", Vašek Jednák
2, tun, "Tuneláři, a.s.", Tomáš Razič
3, ostatni, "Kamarád & spol", Bořek Stavča

Na prvním řádku jsou názvy polí (sloupců) v souboru definovaných. Na dalších řádcích pak jednotlivé záznamy s poli přesně v pořadí podle prvního řádku.

S použitím CSV souborů jsou spojeny všechny ty zvláštnosti CSV zápisu jako jsou:

Fixtures se automaticky nepoužijí. Pokud je chceme použít můsíme tak učinit sami příkazem fixtures. V následující ukázce je tento přikaz použit rovněž s testem který ověří že se načetly opravdu všechy záznamy. V našem případě jsou v souboru test/fixtures/spolecnosti.yml dva záznamy.

class SpolecnostTest < ActiveSupport::TestCase
    fixtures :spolecnosti
    def test_spolecnost_fixtures
        assert_equal 2, Spolecnost.count
    end
    …
end
Licence Creative Commons
Tento dokument Ruby, jehož autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .