首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >黄瓜特征文件的迭代方法

黄瓜特征文件的迭代方法
EN

Stack Overflow用户
提问于 2013-08-16 11:49:35
回答 2查看 8.2K关注 0票数 1

我们正在使用黄瓜在我们的自动化项目与网络驱动程序。毫无疑问,如果可以在特性文件中进行迭代。例如,我们需要运行一个方法50次。是否有任何方法可以在特性文件本身中调用该方法50次。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-21 05:40:33

如果我正确地理解了您,那么您希望在特性文件中直接使用循环结构。这是不可能的没有循环构造(for,while,.)在Gherkin中,特征文件中使用的语言。当然,您可以在步骤定义中使用标准Java/Ruby结构进行迭代,但我相信您知道这一点。

在Gherkin中,最接近迭代的可能是一个带有多行数据表自变量的步骤(参见“数据表”一节)。但是,这只会使步骤定义中发生的“更多一件事”变得更加透明。不确定这对你是否有用。

所有这些都说:你为什么要那样做?您肯定应该保留一些技术方面的东西,比如在特性文件中迭代50次,并将其隐藏在步骤文件中。使用这样的东西:

特征文件:

代码语言:javascript
复制
....
When the user clicks the button 50 times
...

Step文件(Java):

代码语言:javascript
复制
@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中:

代码语言:javascript
复制
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
票数 4
EN

Stack Overflow用户

发布于 2013-08-19 12:52:28

您可以调用50次您的方法。我正在使用黄瓜红宝石,所以我在下面描述如何调用方法50次。

支持/助手/test.rb

代码语言:javascript
复制
def test_method
end

特性/步骤定义/测试_步骤。

代码语言:javascript
复制
50.times do |count|
  test_method
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18272639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档