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

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

要直接回答Rake问题,可以使用:

rake FEATURE=features/adding_products.feature cucumber 

但是使用Rake维基页面build议不要使用rake,而是在CI服务器上使用rake,因为启动比较慢。 只需使用黄瓜命令行,即:

 cucumber features/adding_products.feature 

或者,如果您必须:

 bundle exec cucumber features/adding_products.feature 

如果你使用的是Rails 2,正确的方法是使用cucumber可执行文件来运行它,如果你使用的是Rails 3(Bundler),那么可以将bundle exec cucumber

运行一个特定的function:

 [command] features/signing_in.feature 

要从该function运行特定的scheme:

 [command] features/signing_in.feature:6 

行号可以是该function中的任何行,但通常是第一行。

如果你运行rake cucumber:ok ,有些场景失败,在输出的底部,你会看到这样的东西:

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

您可以三次点击此行并将其粘贴到您的terminal中以运行该场景。

耙子没有为我工作。 刚刚用bundle exec取代了rake,它工作。 下面是一个例子。

捆绑执行黄瓜function/用户/ signup.feature – 需要function

当问题提出时,我不确定黄瓜的标签function是否可用,但是我更喜欢设置@active标签

  @active Feature .. 

要么

  @active Scenario .. 

  cucumber --tags @active 

我喜欢短命令$ cucumber -n

如果:

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

然后:

 $ cucumber -n "Manage Contents" 

运行单个function文件。

 cucumber /project folder/features/featurefile.feature 

运行特定场景:

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

其中10是场景线。

如果你使用捆绑器,

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

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

该手册指出您可以使用与黄瓜相同的选项。 所以我希望你可以通过命令行上要运行的function的文件名。

你可以使用script/cucumber做个人档案。

假设你在你的项目的根目录,你有一个function文件夹:

 ./script/cucumber features/adding_products.feature 

编辑:重新阅读你的问题后,你想要做个别function,或情景?

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

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

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