使用Autotest和Bundler for Rails3 app传递黄瓜选项

时间:2010-07-16 15:50:45

标签: ruby-on-rails cucumber ruby-on-rails-3 autotest

我对如何使用cuke的选项感到困惑。

我知道我可以在两个不同的控制台中运行规格和黄瓜。但我希望它能同时运行。 所以,我可以传递像bundle exec autotest -c -f specdoc这样的rspec的args /选项,但是如果我传递像--tags @wip --format pretty这样的黄瓜选项,它就会爆炸。

那么,我该如何实现呢?

ree-1.8.7-2010.02@automation [~/rails_apps/automation (refactor)⚡] ➔ bundle exec autotest -c --tags @wip
/Users/millisami/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/optparse.rb:1450:in `complete': invalid option: --tags (OptionParser::InvalidOption)
        from /Users/millisami/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/optparse.rb:1448:in `catch'
        from /Users/millisami/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/optparse.rb:1448:in `complete'
        from /Users/millisami/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/optparse.rb:1261:in `parse_in_order'
        from /Users/millisami/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/optparse.rb:1254:in `catch'
        from /Users/millisami/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order'
        from /Users/millisami/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/optparse.rb:1248:in `order!'
        from /Users/millisami/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/optparse.rb:1339:in `permute!'
        from /Users/millisami/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/optparse.rb:1360:in `parse!'
        from /Users/millisami/.rvm/gems/ree-1.8.7-2010.02@automation/gems/autotest-4.3.2/bin/autotest:6
        from /Users/millisami/.rvm/gems/ree-1.8.7-2010.02@automation/bin/autotest:19:in `load'
        from /Users/millisami/.rvm/gems/ree-1.8.7-2010.02@automation/bin/autotest:19
ree-1.8.7-2010.02@automation [~/rails_apps/automation (refactor)⚡] ➔ 

2 个答案:

答案 0 :(得分:0)

可以通过cucumber.yml

将选项传递给Cucumber

例如(来自链接页面),在config / cucumber.yml中有这个:

default: --format profile features
html_report: --format progress --format html --out=features_report.html features  

不要忘记将环境变量AUTOFEATURE设置为true

之后,应该只需要没有参数的自动测试。

修改

来自Autotest Integration页面:

要更改使用自动测试运行功能的方式,请在cucumber.yml:

中创建两个配置文件
  • autotest:当Autotest只想运行失败的场景时使用。
  • autotest-all:当Autotest想要运行所有场景时(红色→绿色转换后)使用。

例如,要在运行要素时打开颜色,可以将以下内容添加到cucumber.yml文件中:

autotest: --color
autotest-all: --color

答案 1 :(得分:0)

  1. autotest: --format pretty --color --tags @wip添加到您的config / cucumber.yml
  2. 重新启动自动测试
  3. 然后,自动测试应该选择标记为'wip'的所有方案。我经常使用它,希望这有帮助。