Java Cucumber: 在定义步骤中指定目标标签

Java Cucumber: Specify target tags in the definition steps

是否可以在定义步骤中指定一个(或多个)目标标签?

比如我有两个特点:

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) {
    ...
}

您将无法根据功能文件标签区分步骤定义。建议您在需要不同步骤定义方法的地方更改步骤的措辞。 只有 Before 和 After 挂钩采用功能文件标签,在您的情况下不会有任何作用