我看到可以将参数传递给rake任务:
task :task_name,:arg_name do |t,args|
我想做的是将参数传递给黄瓜耙任务:
Cucumber::Rake::Task.new({:tags => 'db:test:prepare'}) do |t,args| t.cucumber_opts = ['--tags',#args?] end
这种事情有可能吗?这样我可以这样做:
rake cucumber:tags['tag1','tag2',...]
并让它只运行那些标签.大多数消息来源说使用环境变量,我已经这样做了,但我更愿意以“正确”的方式提供参数.
解决方法
你可以通过这样的方式让它工作:
task :task_name,:arg1 do |t,args| Cucumber::Rake::Task.new(:run) do |t| t.cucumber_opts = "--format pretty --tags @#{args[:arg1]}" end Rake::Task[:run].invoke() end