cucumber-步驟定義 (java版)

步驟定義是一個(gè)帶有表達(dá)式的Java方法钓觉,該表達(dá)式將其鏈接到一個(gè)或多個(gè)小黃瓜步驟。當(dāng)Cucumber在場景中執(zhí)行小黃瓜步驟時(shí),它將尋找一個(gè)匹配的步驟定義來執(zhí)行杠巡。

為了說明這是如何工作的剑勾,請看下面的小黃瓜場景:

Scenario: Some cukes
  Given I have 48 cukes in my belly

作為step一部分的 I have 48 cukes in my belly ( Given關(guān)鍵字后面的文本)將匹配以下步驟定義:

package foo;
import cucumber.api.java.en.Given;

public class MyStepdefs {
    @Given("I have {int} cukes in my belly")
    public void i_have_n_cukes_in_my_belly(int cukes) {
        System.out.format("Cukes: %n\n", cukes);
    }
}

或者埃撵,使用Java8 lambdas:

package foo;
import cucumber.api.java8.En;

public class MyStepdefs implements En {
    public MyStepdefs() {
        Given("I have {int} cukes in my belly", (Integer cukes) -> {
            System.out.format("Cukes: %n\n", cukes);
        });
    }
}

表達(dá)式

步驟定義的表達(dá)式可以是正則表達(dá)式,也可以是Cucumber表達(dá)式虽另。如果使用正則表達(dá)式暂刘,則將匹配中的每個(gè)捕獲組作為參數(shù)傳遞給步驟定義的方法。

@Given("I have {int} cukes in my belly")
public void i_have_n_cukes_in_my_belly(int cukes) {
}

如果捕獲組表達(dá)式與已注冊參數(shù)類型的regexp相同捂刺,則捕獲的字符串將在傳遞給步驟定義的方法之前進(jìn)行轉(zhuǎn)換谣拣。在上面的示例中,cukes參數(shù)將是一個(gè)整數(shù)族展,因?yàn)閮?nèi)置int參數(shù)類型的regexp是\d+森缠。

狀態(tài)管理

通過在實(shí)例變量中存儲狀態(tài),步驟定義可以將狀態(tài)傳遞給后續(xù)步驟定義仪缸。

范圍

步驟定義不鏈接到特定的功能文件或場景贵涵。文件、類或包名不影響步驟定義將匹配到什么小黃瓜步驟。唯一會影響的是步驟定義的表達(dá)式宾茂。

代碼片段

當(dāng)Cucumber遇到?jīng)]有匹配步驟定義的小黃瓜步驟時(shí)瓷马,它將打印一個(gè)帶有匹配Cucumber表達(dá)式的步驟定義片段。您可以將此作為新步驟定義參考跨晴。

考慮一下這個(gè)小黃瓜步驟:

Given I have 3 red balls

如果你沒有一個(gè)匹配的步驟定義决采,Cucumber會給出如下代碼片段作為參考:

@Given("I have {int} red balls")
public void i_have_red_balls(int int1) {
}

如果建議的代碼段與未定義步驟的部分匹配,則它們將使用您自己的參數(shù)類型坟奥。如果存在Color參數(shù)類型树瞭,Cucumber會在建議的表達(dá)式中使用:

@Given("I have {int} {color} balls")
public void i_have_red_balls(int int1, Color color) {
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市爱谁,隨后出現(xiàn)的幾起案子晒喷,更是在濱河造成了極大的恐慌,老刑警劉巖访敌,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凉敲,死亡現(xiàn)場離奇詭異,居然都是意外死亡寺旺,警方通過查閱死者的電腦和手機(jī)爷抓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阻塑,“玉大人蓝撇,你說我怎么就攤上這事〕旅В” “怎么了渤昌?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長走搁。 經(jīng)常有香客問我独柑,道長,這世上最難降的妖魔是什么私植? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任忌栅,我火速辦了婚禮,結(jié)果婚禮上曲稼,老公的妹妹穿的比我還像新娘索绪。我一直安慰自己,他們只是感情好躯肌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布者春。 她就那樣靜靜地躺著破衔,像睡著了一般清女。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晰筛,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天嫡丙,我揣著相機(jī)與錄音拴袭,去河邊找鬼。 笑死曙博,一個(gè)胖子當(dāng)著我的面吹牛拥刻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播父泳,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼般哼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了惠窄?” 一聲冷哼從身側(cè)響起蒸眠,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎杆融,沒想到半個(gè)月后楞卡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡脾歇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年蒋腮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片藕各。...
    茶點(diǎn)故事閱讀 39,703評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡池摧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出激况,到底是詐尸還是另有隱情险绘,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布誉碴,位于F島的核電站宦棺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏黔帕。R本人自食惡果不足惜代咸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望成黄。 院中可真熱鬧呐芥,春花似錦、人聲如沸奋岁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闻伶。三九已至滨攻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背光绕。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工女嘲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诞帐。 一個(gè)月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓欣尼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親停蕉。 傳聞我的和親對象是個(gè)殘疾皇子愕鼓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容