A Cucumber egy olyan szoftvereszköz, amely támogatja a viselkedésvezérelt fejlesztést (BDD). Az Cucumber BDD megközelítésének központi eleme a Gherkin nevű közönséges nyelvi elemző. Ez lehetővé teszi az elvárt szoftverviselkedések logikus nyelven történő meghatározását, amelyet a ügyfelek is megérthetnek. Így a Cucumber lehetővé teszi a vállalkozási szövegben megírt funkcióleírások végrehajtását. Gyakran használják más szoftverek tesztelésére. Automatizált elfogadási teszteket futtat, viselkedésvezérelt fejlesztési (BDD) stílusban.

A Cucumber eredetileg a Ruby programozási nyelven íródott. és kezdetben kizárólag Ruby tesztelésre szolhált az RSpec BDD keretrendszer kiegészítéseként. A Cucumber jelenleg többféle programozási nyelvet támogat különböző implementációkon keresztül, beleértve a Java-t és a JavaScriptet. Létezik egy Cucumber port .NET-re, amely SpecFlow néven fut és mára már a Reqnroll váltott fel.

Gherkin nyelv A Gherkin az a nyelv, amelyet a Cucumber használ a tesztesetek meghatározására. Célja, hogy nem technikai és ember által olvasható legyen, és összességében leírja a szoftverrendszerhez kapcsolódó felhasználási eseteket. A Gherkin szintaxisának célja a viselkedésvezérelt fejlesztési gyakorlatának elterjedését az egész fejlesztőcsapatban, ideértve az üzleti elemzőket és a menedzsereket is. Célja, hogy szilárd, egyértelmű követelményeket szabjon meg a követelmények kezdeti fázisaitól kezdve az üzleti vezetés által és a fejlesztés életciklusának más szakaszaiban.

A Gherkin természetes nyelvi szintaxisa nemcsak egy automatizált tesztelési szkriptet biztosít, hanem egyszerű dokumentációt is nyújt a tesztelendő kódról. A Gherkin jelenleg több tucat nyelvben támogatja a kulcsszavakat.

Szintaxis A szintaxis a sorokra összpontosít, ami hasonló a Pythonhoz. A fájl szerkezetét whitespace(szóköz) és egyéb vezérlőkarakterek határozzák meg. # jelzi a sor kommentjét, és bárhová helyezhető a fájlban Az utasítások minden nem üres és nem komment sorból állnak. Ezek egy felismert Gherkin kulcsszóból állnak, amelyet egy karakterlánc követ.

Minden Gherkin fájl .feature kiterjesztésű. Ezek egyetlen Funkció definíciót tartalmaznak a tesztelendő rendszerhez, és végrehajtható tesztszkriptek.

Íme egy példa a szintaxisra:Feature: Guess the word

# The first example has two steps Scenario: Maker starts a game When the Maker starts a game Then the Maker waits for a Breaker to join

# The second example has three steps Scenario: Breaker joins a game Given the Maker has started a game with the word "silky" When the Breaker joins the Maker's game Then the Breaker must guess a word with 5 characters

Parancssor A Cucumber beépített parancssori felülettel rendelkezik, amely átfogó utasításlistát tartalmaz. Mint a legtöbb parancssori eszköz, a Cucumber is biztosítja a --help opciót, amely összefoglalja a parancs által elfogadott argumentumokat..$ cucumber --help -r, --require LIBRARY|DIR Require files before executing the features. --i18n LANG List keywords for in a particular language. Run with "--i18n help" to see all languages. -f, --format FORMAT How to format features (Default: pretty). -o, --out [FILE|DIR] Write output to a file/directory instead of ...A Cucumber parancssori felület használható a meghatározott tesztek gyors futtatására. Támogatja a scenáriók egy részhalmazának futtatását is a címkék szűrésével.$ cucumber --tags @tag-nameA fenti parancs segít azokat a scenáriókat segít végrehajtani, amelyek rendelkeznek a megadott @tag-name címkével Az argumentumok megadhatók logikai OR vagy AND műveleteként. A címkéken kívül a scenáriók szűrhetők a neveik alapján is.$ cucumber --name logoutA fenti parancs csak azokat a scenáriókat fogja futtatni, amelyek tartalmazzák a „logout” szót.

Hasznos az is, hogy megtudhatjuk hogy mi hibázott, ha egy teszt sikertelen. A Cucumber a --backtrace opcióval megkönnyíti a kódhibák észlelését.

Hivatkozások

Fordítás

További információk Cucumber project Cucumber project dokumentáció

Kategória:Szoftvertesztelés