Uborka nyelv: Szintaxis, formátum és példák
⚡ Okos összefoglaló
A Gherkin egy üzletileg olvasható nyelv, amely a szoftverek viselkedését implementációs részletek nélkül írja le. A Given, When és Then kulcsszavakat használja a következők definiálására: Cucumber tesztforgatókönyvek közérthető nyelven, élő dokumentációként és az automatizált BDD tesztek vázaként szolgálva.

Mi az uborka nyelv?
Ecetes uborka egy üzletileg olvasható nyelv, amely segít leírni az üzleti viselkedést anélkül, hogy a megvalósítás részleteibe bocsátkoznánk. Ez egy szakterület-specifikus nyelv tesztek definiálására a következő területeken: Cucumber formátum. Egyszerű nyelven írja le a használati eseteket, és lehetővé teszi a felhasználók számára, hogy logikai részleteket távolítsanak el a viselkedéstesztekből.
A Gherkinben található szöveg dokumentációként és az automatizált tesztek vázaként szolgál. A Gherkin formátum a TreeTop Grammar-on alapul, amely több mint 37 nyelven létezik, így a Gherkint több mint 37 beszélt nyelven írhatod. A szkript két fő célt szolgál: dokumentálja a felhasználói forgatókönyveket, és alapot biztosít az automatizált BDD tesztek írásához.
Miért uborka?
Egy közös, közérthető nyelvi formátum nélkül az üzleti és műszaki csapatok eltérően írják le a követelményeket, ami félreértésekhez vezet. A Gherkin mindenkinek egyetlen, strukturált szókincset ad, amely úgy hangzik, mint a hétköznapi angol, mégis közvetlenül a végrehajtható tesztekhez kapcsolódik.
Uborka szintaxis
A Gherkin egy sororientált nyelv, akárcsak a YAML és a PythonMinden sort lépésnek nevezünk, és egy kulcsszóval kezdődik. A behúzáshoz tabulátorokat vagy szóközöket használunk. Megjegyzést bárhová beilleszthetünk, de # jellel kell kezdődnie. Az értelmező minden sort a Gherkin kulcsszavak, például a Given, When és Then eltávolítása után olvas be.
Feature: Title of the Scenario Given [Preconditions or Initial Context] When [Event or Trigger] Then [Expected output]
A Gherkin dokumentum kiterjesztése .feature, és egyszerűen egy tesztfájl leíró kiterjesztéssel. Cucumber beolvassa a Gherkin dokumentumot, és lefuttat egy tesztet annak ellenőrzésére, hogy a szoftver a Gherkin szintaxisának megfelelően viselkedik-e.
Fontos kifejezések az uborkában
A fő kulcsszavak a Jellemző, Háttér, Forgatókönyv, Adott, Mikor, Akkor, És, De, és Forgatókönyv vázlata. Cucumber nincsenek szigorú elnevezési szabályai, de egy egyértelmű elnevezési konvenció segít.
Jellemző
A fájl kiterjesztése .feature kell legyen, és minden jellemzőfájl csak egy jellemzőt írhat le. A Feature kulcsszó a következővel kezdődik: Funkció: majd egy szóköz és a funkció neve.
Forgatókönyv
Minden funkciófájlhoz több forgatókönyv is tartozhat, és minden forgatókönyv a következővel kezdődik: Forgatókönyv: majd a forgatókönyv neve.
Háttér
A Background kulcsszó kontextust ad a forgatókönyvhöz. Tartalmazhat minden forgatókönyv által megosztott lépéseket; a különbség az, hogy ezek a lépések minden forgatókönyv előtt lefutnak.
Adott
A Given kulcsszó a rendszert egy ismert állapotba helyezi, mielőtt a felhasználó interakcióba lépne vele. Meghatározza az előfeltételt vagy kontextust:
Given I am on "/."
Amikor
A When kulcsszó határozza meg a felhasználó által végrehajtott műveletet:
When I perform "Sign In."
Majd
A Then kulcsszó a When lépésben végrehajtott művelet után megfigyelt eredményt határozza meg. Csak a észrevehető változásokat kell ellenőrizni:
Then I should see "Welcome Tom."
És & De
Lehet, hogy több Given, When vagy Then lépésed is van. Az And és But kulcsszavak további lépéseket adnak hozzá az olvashatóság érdekében:
And I enter "EmailAddress" with "tomjohn@gmail.com." But I should see "Welcome Tom."
Adott esetben a When, Then, And és But mind tesztlépések. Az interpreter nem jelez hibát, ha felcseréljük őket, de a forgatókönyv nem fog értelmesen beolvasni, ezért minden kulcsszót a rendeltetésének megfelelően használjunk.
Uborka példák
Példa 1: Bejelentkezési funkció egy közösségi oldalhoz.
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 elemzi a jellemzőfájlban leírt összes lépést, és a jellemzőfájlban található lépéseknek meg kell egyezniük a lépésdefiníciós fájlban található lépésekkel.
Példa 2: Felhasználói hitelesítési forgatókönyv háttérrel.
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
Az uborka használatának legjobb gyakorlatai
- Minden forgatókönyvet külön-külön és függetlenül kell végrehajtani.
- Minden funkciónak önállóan végrehajthatónak kell lennie.
- A lépésinformációkat külön kell megjeleníteni.
- Kapcsolja össze a forgatókönyveket az igényeivel és track mely forgatókönyvek tartoznak az egyes követelményekhez.
- Hozzon létre moduláris, könnyen érthető lépéseket, és kombinálja a gyakori forgatókönyveket.
- Írd le, hogy mit csinál a rendszer, ne azt, hogy hogyan.
Az uborka előnyei
- A Gherkin elég egyszerű ahhoz, hogy a nem programozók is megértsék.
- A programozók szilárd alapként használhatják a tesztjeik megkezdéséhez.
- Könnyebben emészthetővé teszi a felhasználói történeteket, és az üzleti igényeket célozza meg.
- Az üzleti vezetők és a fejlesztők ugyanazt a szkriptet olvashatják.
- A Gherkin tesztesetek közvetlenül összekapcsolják az elfogadási teszteket az automatizált tesztekkel.
- Az írásstílus megkönnyíti a kód újrafelhasználását a tesztek között.
Az uborka hátrányai
- Magas szintű üzleti együttműködést és elkötelezettséget igényel.
- Lehet, hogy nem minden esetben működik jól.
- A rosszul megírt tesztek növelhetik a tesztek karbantartási költségeit.
