Gherkin Language: Format, Syntax & Okurka okurková

Obsah:

Anonim

Co je Gherkin Language?

Gherkin je obchodně čitelný jazyk, který vám pomůže popsat obchodní chování, aniž byste zacházeli do podrobností implementace. Jedná se o jazyk specifický pro doménu pro definování testů pro specifikaci ve formátu Cucumber. K popisu případů použití používá prostý jazyk a umožňuje uživatelům odstranit logické podrobnosti z testů chování.

Text v Gherkinově jazyce funguje jako dokumentace a kostra vašich automatických testů. Formát Gherkin je založen na gramatice TreeTop, která existuje ve více než 37 jazycích. Proto můžete okurku napsat ve více než 37 mluvených jazycích.

Tento skript slouží dvěma primárním účelům:

  • Dokumenty scénáře uživatele
  • Psaní automatizovaného testu (BDD)

V tomto výukovém programu Gherkin se naučíte

  • Co je Gherkin Language?
  • Proč okurka?
  • Gherkinova syntaxe
  • Důležité pojmy používané v okurce
  • Příklad okurky
  • Osvědčené postupy používání okurky
  • Výhody okurky

Proč okurka?

Potřebu okurky lze snadno vysvětlit pomocí následujících obrázků

Před okurkou

Po okurce

Gherkinova syntaxe

Gherkin je jazyk orientovaný na řádky, stejně jako YAML a Python. Každý řádek se nazývá krok a začíná klíčovým slovem a koncem terminálů se zastávkou. Pro odsazení se používá tabulátor nebo mezera.

V tomto skriptu lze přidat komentář kamkoli chcete, ale měl by začínat znaménkem #. Přečte každý řádek po odstranění klíčových slov Ghrekina, jak je uvedeno, kdy, pak atd.

Typické okurkové kroky vypadají takto:

Gherkin Scripts: spojuje lidský koncept příčiny a následku se softwarovým konceptem vstupu / procesu / výstupu.

Syntaxe okurky:

Funkce: Název scénářeDané [Předpoklady nebo počáteční kontext]When [Event or Trigger]Pak [Očekávaný výstup]

Dokument Gherkin má příponu .feature a jednoduše jen testovací soubor s efektní příponou. Cucumber read Gherkin document and executes a test to validate that the software behaves as per the Gherkin syntax.

Důležité pojmy používané v okurce

  • Vlastnosti
  • Pozadí
  • Scénář
  • Dáno
  • Když
  • Pak
  • A
  • Ale
  • Příklady osnovy scénáře

Konvence pojmenování se používá pro název funkce. V okurce však neexistují žádná pravidla týkající se jmen.

Vlastnosti:

Soubor by měl mít příponu .feature a každý soubor funkcí by měl mít pouze jednu funkci. Klíčové slovo prvku s funkcí: a po tomto přidání bude zapsán prostor a název prvku.

Scénář:

Každý soubor funkcí může mít více scénářů a každý scénář začíná scénářem: následovaným názvem scénáře.

Pozadí:

Klíčové slovo na pozadí vám pomůže přidat do scénáře nějaký kontext. Může obsahovat některé kroky scénáře, ale jediným rozdílem je, že by měl být spuštěn před každým scénářem.

Dané:

Použití klíčového slova Given je uvést systém do známého stavu před tím, než uživatel zahájí interakci se systémem. Můžete však vynechat psaní uživatelských interakcí v zadaných krocích, pokud je zadáno v kroku „Předpoklad“.

Syntax:

Dáno
Dáno - testovací krok, který definuje „kontextVzhledem k tomu, že jsem na „/.“

Když:

Když je krokem definování akce provedené uživatelem.

Syntax:

Když
A When - testovací krok, který definuje provedenou „akci“Když provedu „Přihlásit se“.

Pak:

Pomocí klíčového slova „then“ je vidět výsledek po akci v kroku. Můžete však ověřit pouze znatelné změny.

Syntax:

 Pak
Potom - testovací krok, který definuje „výsledek“.Pak bych měl vidět „Vítej Tom.“

A & Ale

Možná jste dostali více kdy nebo Pak.

Syntax:

Ale
But - další testovací krok, který definuje výsledek „akce“. “Ale měl bych vidět „Vítej Tom.“
A - další testovací krok, který definuje provedenou „akci“A píšu „EmailAddress“ s „ Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript…“

Vzhledem k tomu, kdy, pak a, ale jsou testovací kroky. Můžete je použít zaměnitelně. Tlumočník nezobrazuje žádnou chybu. Při čtení však určitě nebudou mít žádný „smysl“.

Důležité pojmy používané v okurce

Vzhledem k tomu, přihlašovací stránka se otevíráKdyž zadám uživatelské jméno, heslo a kliknu na tlačítko PřihlásitPak jsem na domovské stránce

Příklady okurky

Příklad 1:

Funkce: Funkce přihlášení na sociální síti Facebook.Vzhledem k tomu: Jsem uživatelem facebooku.Kdy: Zadám uživatelské jméno jako uživatelské jméno.A jako heslo zadávám hesloPak bych měl být přesměrován na domovskou stránku facebooku

Výše uvedený scénář se týká funkce zvané přihlášení uživatele.

Všechna slova napsaná tučně jsou klíčová slova z okurky.

Gherkin bude analyzovat každý krok zapsaný v souboru definice kroku. Kroky jsou proto uvedeny v souboru funkcí a soubor definice kroku by se měl shodovat.

Příklad 2:

Funkce: Pozadí autentizace uživatele:Vzhledem k tomu, že uživatel je již na webu registrován Scénář:Vzhledem k tomu, že uživatel je na přihlašovací stránceKdyž uživatel zadá správnou e-mailovou adresuA uživatel zadá správné hesloA uživatel klikne na tlačítko PřihlásitPoté by měl být uživatel ověřenUživatel by měl být přesměrován na svůj řídicí panelA uživateli by měla být předložena zpráva o úspěchu

Osvědčené postupy používání okurky

  • Každý scénář by měl být proveden samostatně
  • Každý prvek by měl být schopen být spuštěn společně
  • Informace o krocích by se měly zobrazovat nezávisle
  • Propojte scénáře s vašimi požadavky
  • Úplně sledujte, jaké scénáře by měly být zahrnuty v dokumentu požadavku
  • Vytvářejte modulární a snadno srozumitelné kroky
  • Zkuste zkombinovat všechny běžné scénáře

Výhody okurky

  • Okurka je dostatečně jednoduchá, aby ji neprogramátoři pochopili
  • Programátoři jej mohou použít jako velmi solidní základnu pro zahájení testů
  • Usnadňuje strávení uživatelských příběhů
  • Okurkový okurka snadno pochopí obchodní vedení a vývojáři
  • Gherkin Testing se zaměřuje na obchodní požadavky
  • Značná část funkčních specifikací je psána jako uživatelské příběhy
  • Abyste pochopili malou sadu příkazů Gherkin, nemusíte být odborníkem
  • Případy Gherkin Test spojují akceptační testy přímo s automatizovanými testy
  • Styl psaní testovacích případů je snazší znovu použít kód v jiných testech

Nevýhody okurky

  • Vyžaduje vysokou úroveň obchodní angažovanosti a spolupráce
  • Nemusí fungovat dobře ve všech scénářích
  • Špatně napsané testy mohou snadno zvýšit náklady na údržbu testů

Souhrn:

  • Okurka je formát specifikací okurky
  • Gherkin je jazyk orientovaný na řádky, stejně jako YAML a Python
  • Gherkin Scripts spojuje lidský koncept příčiny a následku se softwarovým konceptem vstupu / procesu a výstupu
  • Funkce, Pozadí, Scénář, Dané, Kdy, Potom a Ale jsou v okurce důležité
  • V Gherkin by se každý scénář měl provádět samostatně
  • Největší výhoda okurky je dostatečně jednoduchá, aby ji neprogramátoři pochopili
  • Gherkin Test nemusí fungovat dobře ve všech typech scénářů