Što je kornišonski jezik?
Gherkin je poslovni čitljiv jezik koji vam pomaže opisati poslovno ponašanje bez ulaska u detalje implementacije. To je jezik specifičan za određenu domenu za definiranje testova u formatu Krastavac radi specifikacija. Koristi običan jezik za opisivanje slučajeva korištenja i omogućuje korisnicima uklanjanje logičkih detalja iz testova ponašanja.
Tekst na jeziku Gherkin djeluje kao dokumentacija i kostur vaših automatiziranih testova. Format kornišona temelji se na gramatici TreeTop koja postoji na više od 37 jezika. Stoga svoj kornišon možete napisati na više od 37 govornih jezika.
Ova skripta služi u dvije primarne svrhe:
- Korisnički scenariji dokumenata
- Pisanje automatiziranog testa (BDD)
U ovom uputstvu za Gherkin naučit ćete
- Što je kornišonski jezik?
- Zašto Gherkin?
- Sintaksa kornišona
- Važni pojmovi korišteni u kornišonu
- Primjer kornišona
- Najbolji primjeri korištenja kornišona
- Prednosti kornišona
Zašto Gherkin?
Potreba za kornišonom može se lako objasniti sljedećim slikama
Prije Gherkina
Nakon kornišona
Sintaksa kornišona
Gherkin je jezik usmjeren na liniju, baš kao i YAML i Python. Svaki redak naziva se korak i započinje ključnom riječi, a kraj terminala zaustavljanjem. Tab ili razmak koriste se za uvlačenje.
U ovoj skripti komentar se može dodati gdje god želite, ali trebao bi započeti znakom #. Pročitao je svaki redak nakon uklanjanja Ghrekinovih ključnih riječi kako je dato, kada, tada itd.
Tipični kornišon koraci izgledaju poput:
Gherkin Scripts: povezuje ljudski koncept uzroka i posljedice sa softverskim konceptom unosa / procesa / izlaza.
Sintaksa kornišona:
Značajka: Naslov scenarijaDano [Pretpostavke ili početni kontekst]Kada [događaj ili okidač]Zatim [Očekivani izlaz]
Gherkinov dokument ima ekstenziju .feature i jednostavno samo testnu datoteku s otmjenim nastavkom. Krastavac čita Gherkinov dokument i provodi test kako bi potvrdio da se softver ponaša prema Gherkin sintaksi.
Važni pojmovi korišteni u kornišonu
- Značajka
- Pozadina
- Scenarij
- S obzirom
- Kada
- Zatim
- I
- Ali
- Primjeri kontura scenarija
Konvencija o imenovanju koristi se za ime značajke. Međutim, u Krastavcu ne postoje postavljena pravila o imenima.
Značajka:
Datoteka bi trebala imati ekstenziju .feature, a svaka datoteka značajke trebala bi imati samo jednu značajku. Ključna riječ značajka koja je s značajkom: i nakon toga dodavanja, ispisat će se razmak i naziv značajke.
Scenarij:
Svaka datoteka značajke može imati više scenarija, a svaki scenarij započinje s Scenario: nakon čega slijedi naziv scenarija.
Pozadina:
Ključna riječ u pozadini pomaže vam da dodate neki kontekst scenariju. Može sadržavati neke korake scenarija, ali jedina razlika je u tome što ga treba pokrenuti prije svakog scenarija.
Dano:
Korištenje ključne riječi "Dano" je stavljanje sustava u poznato stanje prije nego što korisnik započne interakciju sa sustavom. Međutim, pisanje korisničkih interakcija možete izostaviti u datim koracima ako je dato u koraku "Preduvjet".
Sintaksa:
S obzirom
Dano - testni korak koji definira 'kontekstS obzirom da sam na "/."
Kada:
Kada je korak definiranje radnje koju izvršava korisnik.
Sintaksa:
Kada
A Kada - testni korak koji definira izvedenu „radnju“Kad izvedem "Prijavi se".
Zatim:
Upotreba ključne riječi 'then' je da biste vidjeli ishod nakon akcije u kojem koraku. Međutim, možete provjeriti samo primjetne promjene.
Sintaksa:
Zatim
Zatim - testni korak koji definira 'ishod'.Tada bih trebao vidjeti "Dobrodošao Tom."
I & Ali
Možda ste više puta dali kada ili Tada.
Sintaksa:
Ali
Ali - dodatni testni korak koji definira ishod "akcije".Ali trebao bih vidjeti "Dobrodošao Tom."
I - dodatni testni korak koji definira izvedenu „radnju“A " Adresu e-pošte " pišem sa " Ova adresa e-pošte zaštićena je od neželjenih robota, potreban vam je omogućen JavaScript da biste je vidjeli ..."
Dano, Kada, Tada i, ali su test koraci. Možete ih koristiti naizmjenično. Tumač ne prikazuje nikakvu pogrešku. Međutim, sigurno neće imati nikakvog 'smisla' kada ih pročitate.
![](https://cdn.css-code.org/7561185/gherkin_language_format-_syntax_ampamp_gherkin_test_in_cucumber_3.png.webp)
Važni pojmovi korišteni u kornišonu
S obzirom na stranicu za prijavu se otvaraKada unesem korisničko ime, lozinku i kliknite gumb PrijavaTada sam na početnoj stranici
Primjeri kornišona
Primjer 1:
Značajka: Funkcija za prijavu na društvenu mrežu Facebook.Obzirom: Korisnik sam facebooka.Kada: Korisničko ime unosim kao korisničko ime.I unosim lozinku kao lozinkuTada bih trebao biti preusmjeren na početnu stranicu facebooka
Gore spomenuti scenarij ima značajku koja se naziva korisnička prijava.
Sve riječi napisane podebljano su ključne riječi Gherkin.
Gherkin će analizirati svaki korak zapisan u datoteci definicije koraka. Stoga su koraci navedeni u datoteci značajki i datoteka definicije koraka bi se trebala podudarati.
Primjer 2:
Značajka: Pozadina autentifikacije korisnika:S obzirom da je korisnik već registriran na web mjestu Scenarij:S obzirom da se korisnik nalazi na stranici za prijavuKada korisnik unese ispravnu adresu e-pošteI korisnik unosi ispravnu lozinkuI korisnik klikne gumb PrijavaTada treba provjeriti autentičnost korisnikaA korisnika treba preusmjeriti na svoju nadzornu pločuI korisniku bi se trebala predstaviti poruka o uspjehu
Najbolji primjeri korištenja kornišona
- Svaki scenarij treba izvršiti zasebno
- Svaka značajka treba biti u mogućnosti izvršiti zajedno
- Informacije o koracima treba prikazati neovisno
- Povežite svoje scenarije sa svojim zahtjevima
- Pratite cjelovito evidentiranje scenarija koji bi trebali biti uključeni u dokument zahtjeva
- Stvorite modularne i lako razumljive korake
- Pokušajte kombinirati sve svoje uobičajene scenarije
Prednosti kornišona
- Gherkin je dovoljno jednostavan za razumijevanje ne-programera
- Programeri ga mogu koristiti kao vrlo čvrstu osnovu za započinjanje svojih testova
- Omogućuje probavu korisničkih priča
- Gherkinovu skriptu mogu lako razumjeti poslovni rukovoditelji i programeri
- Testiranje kornišona cilja poslovne potrebe
- Značajan dio funkcionalnih specifikacija napisan je u obliku korisničkih priča
- Ne trebate biti stručni da biste razumjeli mali skup naredbi od kornišona
- Slučajevi Gherkin testova povezuju testove prihvaćanja izravno s automatiziranim testovima
- Stil pisanja testova je jednostavniji za ponovnu upotrebu koda u drugim testovima
Mane kornišona
- Zahtijeva visoku razinu poslovnog angažmana i suradnje
- Možda neće raditi dobro u svim scenarijima
- Loše napisani testovi mogu lako povećati troškove održavanja testova
Sažetak:
- Kornišon je format za specifikacije krastavaca
- Gherkin je jezik usmjeren na liniju, baš kao i YAML i Python
- Gherkin Scripts povezuje ljudski koncept uzroka i posljedice sa softverskim konceptom unosa / procesa i izlaza
- Značajka, pozadina, scenarij, dano, kada, tada i ali važno je koristiti u kornišonu
- U Gherkinu bi se svaki scenarij trebao izvršiti zasebno
- Najveća prednost Gherkina dovoljno je jednostavna da je ne-programeri razumiju
- Gherkinov test možda neće dobro funkcionirati u svim vrstama scenarija