如何在cucumber-jvm的不同功能中引用相同的DataTable?

时间:2017-06-20 09:45:40

标签: cucumber bdd cucumber-jvm gherkin

在一个步骤定义中,我创建了一个函数,说“someFunction”,它带有一个DataTable,它已在我的特征文件Feature1中定义。

Feature1.feature
Given: User enters the following data
Varibale1|Variable2|Variable3
Value1|Value2|Value3

StpeDef.java
@Given(“^User enters the following data$”)
public void someFunction(DataTable input){
}

现在在另一个功能文件“Feature2.feature”中,我的一个场景需要使用相同的步骤,即调用someFunction。我知道我可以使用相同的步骤定义,但这意味着我必须在Feature2文件中重新定义相同的DataTable输入。  如果没有,我该怎么做? 请注意我理解Backgound关键字及其用法,但如果我说我需要将这些场景保存在不同的功能文件中,应该如何做?

1 个答案:

答案 0 :(得分:0)

您必须复制常见背景。由于重复是不需要的,因此您应该考虑为由该公共背景表示的结果状态赋予名称/标题,并创建可以重复使用的单个给定步骤。类似于"给定:用户输入了有效的联系人数据"或者"鉴于:购物车有3个项目" (任何3人都会这样做。)