Kornišono kalba: formatas, sintaksė ir amp; Agurkų testas su agurkais

Kas yra kornišonų kalba?

„Gherkin“ yra verslo kalba suprantama kalba, padedanti apibūdinti verslo elgesį, nesigilinant į įgyvendinimo detales. Tai yra domenui būdinga kalba, skirta specifikacijoms apibrėžti testus agurkų formatu. Naudojimo atvejams apibūdinti naudojama aiški kalba ir leidžia vartotojams pašalinti logikos detales iš elgesio testų.

„Gherkin langauge“ tekstas veikia kaip jūsų automatizuotų testų dokumentai ir griaučiai. „Gherkin“ formatas pagrįstas „TreeTop“ gramatika, egzistuojančia daugiau nei 37 kalbomis. Todėl galite rašyti savo kornišoną daugiau nei 37 kalbamomis kalbomis.

Šis scenarijus naudojamas dviem pagrindiniais tikslais:

  • Dokumentų naudotojų scenarijai
  • Automatinio testo (BDD) rašymas

Šioje „Gherkin“ pamokoje sužinosite

  • Kas yra kornišonų kalba?
  • Kodėl Gherkin?
  • Kornišono sintaksė
  • Svarbūs terminai, vartojami kornišone
  • Kornišono pavyzdys
  • Geriausia kornišono naudojimo praktika
  • Kornišono pranašumai

Kodėl Gherkin?

Gherkin poreikį galima lengvai paaiškinti sekant vaizdus

Prieš Gerkiną

Po Korniško

Kornišono sintaksė

„Gherkin“ yra į liniją orientuota kalba, kaip ir „YAML“ bei „Python“. Kiekviena eilutė vadinama žingsniu ir prasideda raktiniu žodžiu ir terminalų pabaiga su sustojimu. Įtraukai naudojami skirtukas arba tarpas.

Šiame scenarijuje komentarą galima pridėti bet kurioje vietoje, tačiau jis turėtų prasidėti # ženklu. Jis perskaitė kiekvieną eilutę, pašalinęs Ghrekino raktinius žodžius, kaip nurodyta, kada, tada ir pan.

Tipiški kornišono žingsniai atrodo taip:

Korniško scenarijai: susieja žmogaus priežasties ir pasekmės sampratą su programinės įrangos įvesties / proceso / išvesties samprata.

Kornišono sintaksė:

Funkcija: scenarijaus pavadinimasDuota [prielaidos arba pradinis kontekstas]Kai [įvykis arba suaktyvinimas]Tada [numatoma išvestis]

„Gherkin“ dokumento plėtinys yra .feature ir tiesiog bandomasis failas su išgalvotu plėtiniu. Agurkas skaito „Gherkin“ dokumentą ir atlieka bandymą, kad patvirtintų, jog programinė įranga elgiasi taip, kaip nurodyta „Gherkin“ sintaksėje.

Svarbūs terminai, vartojami kornišone

  • Funkcija
  • Fonas
  • Scenarijus
  • Duota
  • Kada
  • Tada
  • Ir
  • Bet
  • Scenarijaus metmenų pavyzdžiai

Funkcijos pavadinimui naudojama pavadinimo tvarka. Tačiau „Agurke“ nėra nustatytų taisyklių dėl pavadinimų.

Funkcija:

Failo plėtinys turėtų būti .feature, o kiekviename faile turėtų būti tik viena funkcija. Funkcijos raktinis žodis yra su funkcija: po to, kai bus pridėta, bus parašyta tarpas ir funkcijos pavadinimas.

Scenarijus:

Kiekvienas funkcijos failas gali turėti kelis scenarijus, o kiekvienas scenarijus prasideda scenarijumi: po jo eina scenarijaus pavadinimas.

Pagrindas:

Foninis raktinis žodis padeda pridėti scenarijų kontekste. Jame gali būti keli scenarijaus veiksmai, tačiau vienintelis skirtumas yra tas, kad jis turėtų būti vykdomas prieš kiekvieną scenarijų.

Duota:

Nurodyto raktinio žodžio naudojimas yra nustatyti sistemą į įprastą būseną prieš vartotojui pradedant sąveikauti su sistema. Tačiau galite atsisakyti rašyti vartotojo sąveiką atlikdami nurodytus veiksmus, jei tai nurodyta „išankstinės sąlygos“ veiksme.

Sintaksė:

Duota
Duota - bandomasis žingsnis, apibrėžiantis kontekstąAtsižvelgiant į tai, kad esu „/“.

Kada:

Kai reikia apibrėžti vartotojo atliekamą veiksmą.

Sintaksė:

Kada
A Kada - bandomasis žingsnis, apibrėžiantis atliktą „veiksmą“Kai atlieku „Prisijungti“.

Tada:

Raktinio žodžio „tada“ naudojimas yra rezultatas , kai reikia atlikti veiksmą. Tačiau galite patikrinti tik pastebimus pokyčius.

Sintaksė:

 Tada
Tada - bandymo žingsnis, apibrėžiantis „rezultatą“.Tada turėčiau pamatyti „Sveiki Tomai“.

Ir & Bet

Jums gali būti keli duoti kada arba tada.

Sintaksė:

Bet
Bet - papildomas bandymo žingsnis, apibrėžiantis „veiksmo“ rezultatą.Bet turėčiau pamatyti „Sveiki Tomai“.
- papildomas bandymo žingsnis, apibrėžiantis atliktą veiksmąAš rašau „EmailAddress“ su „ Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Jums reikia įjungti Javaskriptą, kad galėtumėte jį peržiūrėti ...“

Duota, kada, tada ir, bet yra bandomieji veiksmai. Galite juos naudoti pakaitomis. Vertėjas nerodo klaidos. Tačiau skaitydami jie tikrai neturės jokios „prasmės“.

Svarbūs terminai, vartojami kornišone

Atsižvelgiant į atidaromas prisijungimo puslapisKai įvesiu vartotojo vardą, slaptažodį ir spustelėsiu mygtuką PrisijungtiTada aš esu pagrindiniame puslapyje

Kornišono pavyzdžiai

1 pavyzdys:

Funkcija: Socialinio tinklo svetainės „Facebook“ prisijungimo funkcionalumas.Duota: Aš esu „Facebook“ vartotojas.Kada: kaip vartotojo vardą įvedu vartotojo vardą.Ir aš įveskite slaptažodį kaip slaptažodįTada turėčiau būti nukreiptas į pagrindinį „Facebook“ puslapį

Pirmiau minėtas scenarijus yra funkcija, vadinama vartotojo prisijungimu.

Visi paryškinti žodžiai yra „Gherkin“ raktiniai žodžiai.

Gherkin analizuos kiekvieną žingsnį, įrašytą žingsnio apibrėžimo faile. Todėl veiksmai pateikiami funkcijų faile, o žingsnio apibrėžimo failas turėtų sutapti.

2 pavyzdys:

Funkcija: Vartotojo autentifikavimo fonas:Atsižvelgiant į tai, kad vartotojas jau yra užregistruotas svetainės scenarijuje:Atsižvelgiant į tai, kad vartotojas yra prisijungimo puslapyjeKai vartotojas įveda teisingą el. Pašto adresąIr vartotojas įveda teisingą slaptažodįIr vartotojas spustelėja mygtuką PrisijungtiTada vartotojas turėtų būti patvirtintasIr vartotojas turėtų būti nukreiptas į savo informacijos suvestinęVartotojui turėtų būti pateikta sėkmės žinutė

Geriausia kornišono naudojimo praktika

  • Kiekvienas scenarijus turėtų būti vykdomas atskirai
  • Kiekviena funkcija turėtų būti vykdoma kartu
  • Informacija apie veiksmus turėtų būti rodoma atskirai
  • Susiekite savo scenarijų su savo reikalavimais
  • Stebėkite, kokie scenarijai turėtų būti įtraukti į reikalavimo dokumentą
  • Sukurkite modulinius ir lengvai suprantamus veiksmus
  • Pabandykite sujungti visus įprastus scenarijus

Kornišono pranašumai

  • Korniškas yra pakankamai paprastas, kad suprastų ne programuotojai
  • Programuotojai gali naudoti tai kaip labai tvirtą pagrindą bandymams pradėti
  • Tai palengvina naudotojų istorijas
  • Gherkin scenarijų gali lengvai suprasti verslo vadovai ir kūrėjai
  • „Gherkin Testing“ siekiama verslo reikalavimų
  • Nemaža dalis funkcinių specifikacijų yra parašytos kaip vartotojo pasakojimai
  • Jums nereikia būti ekspertu, kad suprastumėte mažą „Gherkin“ komandų rinkinį
  • „Gherkin Test“ atvejai priėmimo testus susieja tiesiogiai su automatizuotais testais
  • Testo atvejų rašymo stilių lengviau pakartotinai naudoti kituose testuose

Kornišono trūkumai

  • Tam reikalingas aukštas verslo įsitraukimas ir bendradarbiavimas
  • Gali neveikti visais atvejais
  • Blogai parašyti testai gali lengvai padidinti bandymų ir priežiūros išlaidas

Santrauka:

  • Kornišonas yra agurkų specifikacijų formatas
  • „Gherkin“ yra į liniją orientuota kalba, kaip ir „YAML“ bei „Python“
  • „Gherkin Scripts“ susieja žmogaus priežasties ir pasekmės sampratą su programinės įrangos įvesties / proceso ir išvesties samprata
  • Funkcija, fonas, scenarijus, atsižvelgiant į tai, kada, tada ir bet yra svarbūs Korniuke
  • Gherkin, kiekvienas scenarijus turėtų būti vykdomas atskirai
  • Didžiausias „Gherkin“ privalumas yra pakankamai paprastas, kad suprastų ne programuotojai
  • Kornišono testas gali neveikti visų tipų scenarijuose

Įdomios straipsniai...