Gherkin Language: Syntaxe, formát a příklady
⚡ Chytré shrnutí
Gherkin je jazyk srozumitelný pro firmy, který popisuje chování softwaru bez detailů implementace. Používá klíčová slova Given, When a Then k definování... Cucumber testovací scénáře v jednoduchém jazyce, sloužící jako živá dokumentace a kostra automatizovaných BDD testů.

Co je jazyk okurek?
kyselá okurka je jazyk srozumitelný pro firmy, který vám pomůže popsat obchodní chování, aniž byste museli zacházet do detailů implementace. Je to doménově specifický jazyk pro definování testů v Cucumber formát. Používá prostý jazyk k popisu případů užití a umožňuje uživatelům odstraňovat logické detaily z behaviorálních testů.
Text v Gherkinu slouží jako dokumentace a kostra vašich automatizovaných testů. Formát Gherkin je založen na gramatice TreeTop, která existuje ve více než 37 jazycích, takže v Gherkinu můžete psát ve více než 37 mluvených jazycích. Skript slouží dvěma hlavním účelům: dokumentuje uživatelské scénáře a poskytuje základ pro psaní automatizovaných BDD testů.
Proč okurka?
Bez sdíleného, srozumitelného formátu popisují obchodní a technické týmy požadavky odlišně, což vede k nedorozuměním. Gherkin poskytuje všem jednotnou, strukturovanou slovní zásobu, která se čte jako běžná angličtina, ale mapuje se přímo na spustitelné testy.
Gherkinova syntaxe
Gherkin je řádkově orientovaný jazyk, stejně jako YAML a PythonKaždý řádek se nazývá krok a začíná klíčovým slovem. Pro odsazení se používají tabulace nebo mezery. Komentář lze přidat kamkoli, ale musí začínat znakem #. Interpret přečte každý řádek po odstranění klíčových slov Gherkin, jako jsou Given, When a Then.
Feature: Title of the Scenario Given [Preconditions or Initial Context] When [Event or Trigger] Then [Expected output]
Dokument Gherkin má příponu .feature a je to jednoduše testovací soubor s popisnou příponou. Cucumber přečte dokument Gherkin a provede test, aby ověřil, zda se software chová tak, jak popisuje syntaxe Gherkin.
Důležité pojmy používané v okurkách
Hlavní klíčová slova jsou rys, pozadí, scénář, daný, kdy, pak, a, ale a osnova scénáře. Cucumber nemá žádná striktní pravidla pojmenování, ale jasná konvence pojmenování pomáhá.
vlastnost
Soubor by měl mít příponu .feature a každý soubor s funkcemi by měl popisovat pouze jednu funkci. Klíčové slovo Feature začíná na funkce: následovaný mezerou a názvem prvku.
Scénář
Každý soubor s funkcemi může mít více scénářů a každý scénář začíná na Scénář: následovaný názvem scénáře.
Pozadí
Klíčové slovo Background přidává kontext ke scénáři. Může obsahovat kroky sdílené jednotlivými scénáři; rozdíl je v tom, že tyto kroky se spouštějí před každým scénářem.
Vzhledem k
Klíčové slovo Given uvede systém do známého stavu ještě předtím, než s ním uživatel začne interagovat. Definuje předběžnou podmínku nebo kontext:
Given I am on "/."
Kdy
Klíčové slovo When definuje akci, kterou uživatel provede:
When I perform "Sign In."
Pak
Klíčové slovo Then definuje výsledek pozorovaný po akci v kroku When. Ověřovat byste měli pouze znatelné změny:
Then I should see "Welcome Tom."
A & Ale
Můžete mít více kroků typu Given, When nebo Then. Klíčová slova And a But přidávají další kroky pro lepší čitelnost:
And I enter "EmailAddress" with "tomjohn@gmail.com." But I should see "Welcome Tom."
Klíčová slova Given, When, Then, And a But jsou všechno testovací kroky. Interpret nevyvolá chybu, pokud je prohodíte, ale scénář se nebude číst rozumně, proto každé klíčové slovo používejte k jeho zamýšlenému účelu.
Příklady okurky
Příklad 1: Funkce pro přihlášení na sociální síť.
Feature: Login functionality of a social networking site Given I am a registered user When I enter my username And I enter my password Then I should be redirected to the home page
Gherkin analyzuje každý krok zapsaný v souboru funkcí a kroky v souboru funkcí se musí shodovat s kroky v souboru definice kroku.
Příklad 2: Scénář ověřování uživatele s pozadím.
Feature: User Authentication Background: Given the user is already registered on the website Scenario: Successful login Given the user is on the login page When the user inputs the correct email address And the user inputs the correct password And the user clicks the Login button Then the user should be authenticated And the user should be redirected to their dashboard
Nejlepší postupy pro používání okurek
- Každý scénář by měl být spuštěn samostatně a nezávisle.
- Každá funkce by měla být spustitelná sama o sobě.
- Informace o krocích by měly být zobrazeny nezávisle.
- Propojte své scénáře s vašimi požadavky a track které scénáře patří ke každému požadavku.
- Vytvářejte modulární, snadno srozumitelné kroky a kombinujte běžné scénáře.
- Popište, co systém dělá, ne jak to dělá.
Výhody okurky
- Gherkin je dostatečně jednoduchý na to, aby mu porozuměli i neprogramátoři.
- Programátoři jej mohou použít jako solidní základ pro zahájení svých testů.
- Usnadňuje vstřebávání uživatelských příběhů a cílí na obchodní požadavky.
- Vedoucí pracovníci i vývojáři mohou číst stejný scénář.
- Testovací případy Gherkin přímo propojují akceptační testy s automatizovanými testy.
- Styl psaní usnadňuje opětovné použití kódu napříč testy.
Nevýhody okurky
- Vyžaduje to vysokou úroveň obchodní angažovanosti a spolupráce.
- Nemusí to fungovat dobře v každém scénáři.
- Špatně napsané testy mohou zvýšit náklady na údržbu testů.
