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网格运行,反对酱油和持续集成环境