Gherkin jezik: sintaksa, format i primjeri
⚡ Pametni sažetak
Gherkin je poslovno čitljiv jezik koji opisuje ponašanje softvera bez detalja implementacije. Koristi ključne riječi Given, When i Then za definiranje Cucumber testni scenariji na jednostavnim jezikom, koji služe kao živa dokumentacija i kostur automatiziranih BDD testova.

Što je jezik kornišona?
Gherkin je poslovno čitljiv jezik koji vam pomaže opisati poslovno ponašanje bez ulaska u detalje implementacije. To je jezik specifičan za domenu za definiranje testova u Cucumber formatu. Koristi jednostavan jezik za opisivanje slučajeva upotrebe i omogućuje korisnicima uklanjanje logičkih detalja iz testova ponašanja.
Tekst u Gherkinu služi kao dokumentacija i kao kostur vaših automatiziranih testova. Gherkin format temelji se na TreeTop gramatici, koja postoji u više od 37 jezika, tako da možete pisati Gherkin na preko 37 govornih jezika. Skripta služi dvjema primarnim svrhama: dokumentira korisničke scenarije i pruža osnovu za pisanje automatiziranih BDD testova.
Zašto kornišon?
Bez zajedničkog, jednostavnog formata, poslovni i tehnički timovi različito opisuju zahtjeve, što uzrokuje nesporazume. Gherkin svima daje jedinstven, strukturiran vokabular koji se čita kao običan engleski, ali se izravno preslikava na izvršne testove.
Sintaksa kornišona
Gherkin je linijski orijentiran jezik, baš kao i YAML i PythonSvaki redak naziva se korak i počinje ključnom riječi. Tabulatori ili razmaci koriste se za uvlačenje. Komentar se može dodati bilo gdje, ali mora započeti znakom #. Interpreter čita svaki redak nakon uklanjanja ključnih riječi Gherkin kao što su Dano, Kada i Zatim.
Feature: Title of the Scenario Given [Preconditions or Initial Context] When [Event or Trigger] Then [Expected output]
Gherkin dokument ima ekstenziju .feature i jednostavno je testna datoteka s opisnom ekstenzijom. Cucumber čita Gherkin dokument i izvršava test kako bi provjerio ponaša li se softver onako kako opisuje Gherkinova sintaksa.
Važni pojmovi koji se koriste u kiselim krastavcima
Glavne ključne riječi su Značajka, Pozadina, Scenarij, Dano, Kada, Tada, I, Ali i Struktura scenarija. Cucumber nema stroga pravila imenovanja, ali jasna konvencija imenovanja pomaže.
svojstvo
Datoteka treba imati ekstenziju .feature, a svaka datoteka značajki treba opisivati samo jednu značajku. Ključna riječ Feature počinje s značajka: nakon čega slijedi razmak i naziv značajke.
scenario
Svaka datoteka značajki može imati više scenarija, a svaki scenarij počinje s Scenarij: nakon čega slijedi naziv scenarija.
pozadina
Ključna riječ Background dodaje kontekst scenariju. Može sadržavati korake koje dijeli svaki scenarij; razlika je u tome što se ti koraci izvršavaju prije svakog scenarija.
S obzirom
Ključna riječ Given stavlja sustav u poznato stanje prije nego što korisnik počne komunicirati s njim. Definira preduvjet ili kontekst:
Given I am on "/."
Kada
Ključna riječ When definira radnju koju korisnik izvršava:
When I perform "Sign In."
Tada
Ključna riječ Then definira ishod koji se opaža nakon akcije u koraku When. Trebali biste provjeriti samo uočljive promjene:
Then I should see "Welcome Tom."
I & Ali
Možete imati više koraka Dano, Kada ili Zatim. Ključne riječi I i Ali dodaju dodatne korake za čitljivost:
And I enter "EmailAddress" with "tomjohn@gmail.com." But I should see "Welcome Tom."
Dano, Kada, Zatim, I i Ali su sve koraci testiranja. Interpretator ne izbacuje grešku ako ih zamijenite, ali scenarij se neće čitati razumno, stoga koristite svaku ključnu riječ za njezinu namjenu.
Primjeri kornišona
Primjer 1: Funkcija prijave za stranicu društvene mreže.
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 analizira svaki korak zapisan u datoteci značajki, a koraci u datoteci značajki moraju se podudarati s onima u datoteci definicije koraka.
Primjer 2: Scenarij autentifikacije korisnika s pozadinom.
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
Najbolje prakse korištenja kiselih krastavaca
- Svaki scenarij treba se izvršavati zasebno i neovisno.
- Svaka značajka treba biti izvršna sama za sebe.
- Informacije o koracima trebaju se prikazivati neovisno.
- Povežite svoje scenarije sa svojim zahtjevima i track koji scenariji pripadaju svakom zahtjevu.
- Stvorite modularne, lako razumljive korake i kombinirajte uobičajene scenarije.
- Opišite što sustav radi, a ne kako to radi.
Prednosti kornišona
- Gherkin je dovoljno jednostavan da ga razumiju i neprogrameri.
- Programeri ga mogu koristiti kao solidnu osnovu za početak svojih testova.
- Olakšava razumijevanje korisničkih priča i cilja na poslovne zahtjeve.
- Poslovni rukovoditelji i programeri mogu čitati isti scenarij.
- Gherkinovi testni slučajevi izravno povezuju testove prihvatljivosti s automatiziranim testovima.
- Stil pisanja olakšava ponovnu upotrebu koda u različitim testovima.
Nedostaci kornišona
- To zahtijeva visoku razinu poslovnog angažmana i suradnje.
- Možda neće dobro funkcionirati u svakom scenariju.
- Loše napisani testovi mogu povećati troškove održavanja testova.
