Hozza létre címkéket rspec tesztek
- 24.06.16 07:53 •
- habravalt •
- • # 303998
- • Habrahabr
- 0 •
- 1500
- mint a Forbes, csak jobb.
Hi, a nevem Leonyid és dolgozom, mint egy csapat, a Ruby on Rails, a cég Align Technology.
Munkahelyen használjuk a pályán együtt RSpec, és ma fogom megosztani tapasztalatainkat, hogyan könnyebbé teszik életüket segítségével egyéni címkéket a teszteket.
Alapértelmezésben rspek a sínek több mappák csoport vizsgálatokat az a tény, hogy azok a vizsgálatok: a modell egyes szabályozók, kilátás, több vezérlő, útvonal.
Önmagukban rspek elhelyezi tag (metaadatok), amely kiegészíti teszteket bármely csoportja helper módszerek és új állításokat. (A metaadatok - egy hash, amelyben minden egyes mappát adunk a teszt-kulcs típusát a neve ennek a könyvtárba)
Minden tesztet futtatni annak gets által létrehozott saját osztály, ami valójában összekeverjük a jobb DSL modulok segítők és állításokat.
Használhatja saját címkéket, ha a tulajdonságok által teljesítendő a vizsgálat, nem teszik lehetővé, hogy azt egy adott könyvtárban.
Íme néhány hasznos címkéket használjuk munkánk során.
Működését vezérlik a kereső (például Sunspot)
Jellemzően keresni a könyvtár a sínek integrálja ActiveRecord / ActiveModel osztályok, hátráltató after_save visszahívások hívja DSL konfigurációs módszer indexelt mezőket.
Ugyanakkor az egyik legnépszerűbb keresési Sunspot könyvtár nem automatikusan integrálja rspekom, vagyis a teszteket mindig hívja az indexelés a modellek. Leggyakrabban komolyan lassítja a vizsgálatokat, mert a keresési általában a vizsgálatok során használt csak a keresési vezérlő, és például a tesztek szinonimák és besorolásának a helyes konfiguráció a kereső.
Adjunk hozzá egy címkét általában magában foglalja az adatok elküldését a kereső csak ha szükség van rá.
Most, csak jelölje meg vizsgálatokat, hogy valóban szükség van a kereső kulcsszó: Solr.
Pl ellenőrizze, hogy a munka szinonimaként synonyms.txt helyesen:
Tesztelés migráció és az „élő adatok”: az adatbázist, amely a szerelvény.
Tény, hogy az alkalmazások egy „kis” adatbázist, semmi sem akadályozza használja a teljes bázis, mint egy „teszt adathalmazok.”
Ez lehetővé teszi, hogy assorty valós adatokon, és tesztelje komplex migrációs.
Tehát, a címkét: beoltott vizsgálatokat, hogy kezdődik a „live” adatbázis-pillanatkép, szükségünk lesz egy pár dolgot. Az első - a Rake-egy feladatot, hogy lesz egy újabb pillanatfelvétel az adatbázis (pl kivehető naponta egyszer), és ha szükséges, megtisztítjuk a fontos termelési adatokat.
A második pont a következő: az adatbázis-helyreállítási időt vesz igénybe, úgyhogy kezdjük a „normális” vizsgálatok, majd csoport a tesztek „befejezett” alapon, hogy ők végén indított:
(Még jobb használjon hagyományos mechanizmus a tesztek futtatását a tranzakciót, amit törölni a vizsgálat végén)
Vegye figyelembe, hogy Rspec megpróbálja futtatni a teszteket, véletlenszerű sorrendben, hogy megtalálják a problémákat az állam, elrontotta az előző vizsgálat. (Ezt követően, hibakeresés segítségével lehetséges ugyanabban a sorrendben, ha az átutalás rspeku --seeded zászlót az értéket, amely kiírja az indításkor) Ezért konvencióknak, és állítsa vissza a véletlenszám-generátor config.seed rspeka.
Továbbra is a megfelelő szabályozást Sammy tag:
Nos ebben az esetben a rake-TASK db: restore_from_snapshot cache letöltött pillanatfelvétel bázis tmp /, hogy ne töltse be minden alkalommal a fejlesztő gép könyvtárban.
Vizsgáljuk meg a telepített alkalmazás
Még jobb: tudjuk használni ugyanazokat a vizsgálatokat, hogy érvényesítse kérések „élő” alkalmazást. Természetesen ez csak akkor lehetséges, ha azok nem működnek együtt az adatbázis egyáltalán, vagy olvassa el az adatbázisból ugyanazokat az adatokat, mint a telepített szerver.
Most csak futtatni kívánt része a teszt script mint a füst-teszt: