2016-08-23 72 views
0

是否可以在定義步驟中指定一個(或多個)目標標籤?Java Cucumber:在定義步驟中指定目標標籤

舉例來說,我有兩個特點:

feature1.feature 
@feature1 
... 
And I click on "save" button 
... 

feature2.feature 
@feature2 
... 
And I click on "save" button 
... 

這兩種功能都使用相同的膠水文件(他們有很多共同的步驟)。

我需要這些步驟有不同的實施規則:

@And("^I click on \"([^\"]*)\" link$") 

我怎麼能這樣做呢?是否有任何註釋來指定定義步驟僅用於一個(或幾個)標籤?我會這樣做:

@And("^I click on \"([^\"]*)\" link$") 
@Something("@feature1") 
public void i_click_on_link_feature1(String option) { 
    ... 
} 

@And("^I click on \"([^\"]*)\" link$") 
@Something("@feature2") 
public void i_click_on_link_feature2(String option) { 
    ... 
} 

回答

1

您將無法區分基於功能文件標記的步驟定義。建議您更改要使用不同步驟定義方法的步驟的措辭。 只有前後勾取了功能文件標籤,在你的情況下不會有任何用途

+0

是的,你是對的,我可以在scenario.getSourceTagNames()獲取標籤信息,完整的源代碼是:@Before \t public void beforeScenario(場景場景){scenario.getSourceTagNames(); } – cybtow