Ruby on Rails:黄瓜:我如何耙一个功能?

时间:2010-06-22 23:12:43

标签: ruby-on-rails cucumber

我想单独运行它们的原因是因为我需要在我的Rake文件中单独设置它们,因为当我一起运行它们时,我的Java堆空间会填满

9 个答案:

答案 0 :(得分:68)

正确的方法是使用cucumber可执行文件(如果您使用的是Rails 2)或bundle exec cucumber(如果您使用的是Rails 3(以及Bundler))运行它。

运行特定功能:

[command] features/signing_in.feature

从该功能运行特定方案:

[command] features/signing_in.feature:6

行号可以是该要素内的任何行,但通常是第一行。

如果您运行rake cucumber:ok并且某些情况失败,则在输出的底部您会看到如下内容:

cucumber features/sigining_in.feature:6 # Signing in via form

您可以三次单击此行并将其粘贴到终端中,以便运行该方案。

答案 1 :(得分:45)

要直接回答耙子问题,您可以使用:

rake FEATURE=features/adding_products.feature cucumber

但是Using Rake wiki页面建议不要在rax上使用rake,因为它的启动速度较慢。只需使用黄瓜命令行,即:

cucumber features/adding_products.feature

或者,如果你必须:

bundle exec cucumber features/adding_products.feature

答案 2 :(得分:37)

耙子对我不起作用。 刚刚用bundle exec替换了rake,它运行了。 下面是一个样本。

捆绑exec黄瓜功能/用户/ signup.feature - 需要功能

答案 3 :(得分:15)

我不确定问题时黄瓜的tag feature是否可用,但我更喜欢设置@active标记

  @active
  Feature ..

  @active
  Scenario ..

  cucumber --tags @active

答案 4 :(得分:13)

我喜欢短命令$ cucumber -n

如果:

Feature: Manage Contents
  In order to manage instances from custom content types
  …

然后:

$ cucumber -n "Manage Contents"

答案 5 :(得分:3)

运行单个要素文件。

cucumber /project folder/features/featurefile.feature

运行特定场景:

cucumber /project folder/features/featurefile.feature:10
  

其中10是情景线。

如果您使用bundler,

bundle exec cucumber /project folder/features/featurefile.feature

答案 6 :(得分:1)

您可以使用script/cucumber执行单个文件。

假设您位于项目的根目录中,并且您有一个功能文件夹:

./script/cucumber features/adding_products.feature

编辑:重新阅读您的问题后,您是否希望执行各个功能或方案?

答案 7 :(得分:0)

如果你使用cuke4duke,你可以单独从ant或maven运行它。

manual表示您可以使用与黄瓜相同的选项。所以我希望您可以在命令行上传递要运行的功能的文件名。

答案 8 :(得分:0)

在大型企业中拥有多个黄瓜项目时通常需要的参数是 1)在哪里运行测试 2)运行哪个环境 3)哪个浏览器 4)什么标签

以下是一种非常灵活的模式,可以根据您的需要以多种方式使用。 这种模式可用于本地运行,针对硒网格,针对酱油和连续集成环境

http://seleniumframework.wordpress.com/2014/05/18/pattern-for-running-multiple-cucumber-projects-on-ci-server/