我们正在使用黄瓜在我们的自动化项目与网络驱动程序。毫无疑问,如果可以在特性文件中进行迭代。例如,我们需要运行一个方法50次。是否有任何方法可以在特性文件本身中调用该方法50次。
发布于 2013-08-21 05:40:33
如果我正确地理解了您,那么您希望在特性文件中直接使用循环结构。这是不可能的没有循环构造(for,while,.)在Gherkin中,特征文件中使用的语言。当然,您可以在步骤定义中使用标准Java/Ruby结构进行迭代,但我相信您知道这一点。
在Gherkin中,最接近迭代的可能是一个带有多行数据表自变量的步骤(参见“数据表”一节)。但是,这只会使步骤定义中发生的“更多一件事”变得更加透明。不确定这对你是否有用。
所有这些都说:你为什么要那样做?您肯定应该保留一些技术方面的东西,比如在特性文件中迭代50次,并将其隐藏在步骤文件中。使用这样的东西:
特征文件:
....
When the user clicks the button 50 times
...Step文件(Java):
@When("the user clicks the button (\\d+) times")
public void theUserClicksTheButton(int howOften) {
for (int i = 0; i < howOften; i++) {
// do stuff for one click here
}
}或者,在Ruby中:
When /^the user clicks the button (\d+) times$/ do |how_often|
how_often.to_i.times do |count|
# do stuff for one click here
end
end发布于 2013-08-19 12:52:28
您可以调用50次您的方法。我正在使用黄瓜红宝石,所以我在下面描述如何调用方法50次。
支持/助手/test.rb
def test_method
end特性/步骤定义/测试_步骤。
50.times do |count|
test_method
endhttps://stackoverflow.com/questions/18272639
复制相似问题