Kurgi keel: süntaks, vorming ja näited
⚡ Nutikas kokkuvõte
Gherkin on äriliselt loetav keel, mis kirjeldab tarkvara käitumist ilma implementatsiooni üksikasjadeta. See kasutab Given, When ja Then märksõnu, et defineerida Cucumber lihtsas keeles esitatud testistsenaariumid, mis toimivad elava dokumentatsioonina ja automatiseeritud BDD-testide skeletina.

Mis on kornišoni keel?
Kornišon on äriliselt loetav keel, mis aitab teil kirjeldada ettevõtte käitumist ilma rakenduse üksikasjadesse laskumata. See on valdkonnapõhine keel testide defineerimiseks Cucumber vormingus. See kirjeldab kasutusjuhtumeid lihtsas keeles ja võimaldab kasutajatel käitumistestidest loogilisi detaile eemaldada.
Gherkini tekst toimib dokumentatsioonina ja teie automatiseeritud testide skeletina. Gherkini formaat põhineb TreeTop Grammaril, mis eksisteerib enam kui 37 keeles, seega saate Gherkinit kirjutada enam kui 37 kõnekeeles. Skriptil on kaks peamist eesmärki: see dokumenteerib kasutaja stsenaariume ja pakub aluse automatiseeritud BDD-testide kirjutamiseks.
Miks Gherkin?
Ilma ühise ja lihtsa keelega vorminguta kirjeldavad äri- ja tehnilised meeskonnad nõudeid erinevalt, mis põhjustab arusaamatusi. Gherkin annab kõigile ühtse struktureeritud sõnavara, mis kõlab nagu tavaline inglise keel, kuid on otse seotud käivitatavate testidega.
Gherkini süntaks
Gherkin on ridadele orienteeritud keel, nagu YAML ja PythonIga rida nimetatakse sammuks ja see algab märksõnaga. Tabulaatoreid või tühikuid kasutatakse taande jaoks. Kommentaari saab lisada ükskõik kuhu, kuid see peab algama märgiga #. Tõlgendab programmi ja loeb iga rea pärast Gherkini märksõnade (nt Given, When ja Then) eemaldamist.
Feature: Title of the Scenario Given [Preconditions or Initial Context] When [Event or Trigger] Then [Expected output]
Gherkini dokumendil on laiend .feature ja see on lihtsalt kirjeldava laiendiga testfail. Cucumber loeb Gherkini dokumenti ja käivitab testi, et kontrollida, kas tarkvara käitub Gherkini süntaksi kirjelduse kohaselt.
Olulised terminid, mida kasutatakse kurgis
Peamised märksõnad on tunnus, taust, stsenaarium, antud, millal, siis, ja, aga ja stsenaariumi ülevaade. Cucumber puuduvad ranged nimetamisreeglid, kuid selge nimetamiskonventsioon on abiks.
tunnusjoon
Failil peaks olema laiend .feature ja iga funktsioonifail peaks kirjeldama ainult ühte funktsiooni. Märksõna „Feature” algab tähega Motiiv: millele järgneb tühik ja funktsiooni nimi.
Stsenaarium
Igal funktsioonifailil võib olla mitu stsenaariumi ja iga stsenaarium algab järgmisega: Stsenaarium: millele järgneb stsenaariumi nimi.
Taust
Märksõna „Background” lisab stsenaariumile konteksti. See võib sisaldada samme, mida jagavad kõik stsenaariumid; erinevus seisneb selles, et need sammud käivituvad enne iga stsenaariumi.
antud
Märksõna Given viib süsteemi teadaolevasse olekusse enne, kui kasutaja sellega suhtlema hakkab. See määratleb eeltingimuse ehk konteksti:
Given I am on "/."
Kui
Märksõna „When” määratleb kasutaja tehtava toimingu:
When I perform "Sign In."
Siis
Märksõna „Then“ määratleb tulemuse, mida täheldatakse pärast toimingut „When“ etapis. Kontrollida tuleks ainult märgatavaid muutusi:
Then I should see "Welcome Tom."
Ja & Aga
Teil võib olla mitu Given (antud), When (millal) või Then (siis) sammu. Märksõnad And (ja) ja But (aga) lisavad loetavuse parandamiseks täiendavaid samme:
And I enter "EmailAddress" with "tomjohn@gmail.com." But I should see "Welcome Tom."
Arvestades, et When, Then, And ja But on kõik testimisetapid. Interpretaator ei tekita nende vahetamisel viga, kuid stsenaarium ei loeta mõistlikult, seega kasutage iga märksõna ettenähtud otstarbel.
Kornišonide näited
Näide 1: Sotsiaalvõrgustiku saidi sisselogimisfunktsioon.
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 analüüsib iga funktsioonifailis olevat sammu ning funktsioonifailis olevad sammud peavad vastama sammu definitsioonifailis olevatele sammudele.
Näide 2: Kasutaja autentimise stsenaarium taustaga.
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
Gherkini kasutamise parimad tavad
- Iga stsenaarium peaks toimima eraldi ja sõltumatult.
- Iga funktsioon peaks olema iseseisvalt käivitatav.
- Sammude kohta tuleks teavet kuvada eraldi.
- Seo oma stsenaariumid oma vajadustega ja track millised stsenaariumid iga nõude alla kuuluvad.
- Loo modulaarseid ja hõlpsasti mõistetavaid samme ning kombineeri tavalisi stsenaariume.
- Kirjelda, mida süsteem teeb, mitte kuidas see toimib.
Gherkini eelised
- Gherkin on piisavalt lihtne, et ka mitteprogrammeerijad sellest aru saaksid.
- Programmeerijad saavad seda kasutada kindla alusena oma testide alustamiseks.
- See muudab kasutajalood kergemini seeditavaks ja vastab ärivajadustele.
- Nii ärijuhid kui ka arendajad saavad sama skripti lugeda.
- Gherkini testijuhtumid seovad vastuvõtutestid otse automatiseeritud testidega.
- Kirjutamisstiil lihtsustab koodi taaskasutamist testides.
Gherkini puudused
- See nõuab kõrgetasemelist ärilist kaasatust ja koostööd.
- See ei pruugi igas stsenaariumis hästi toimida.
- Halvasti kirjutatud testid võivad suurendada testide hoolduskulusid.
