2016-08-23 53 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

相关问题