【发布时间】:2011-12-12 03:04:32
【问题描述】:
我的 Rake 任务之一使用 Rake::Task[:cucumber].invoke 调用 Cucumber。在此之前,我的任务设置了一组 Cucumber 场景应使用的变量。
我应该怎么做才能将 Rake 任务中可用的值传递给在 Cucumber Before 声明中运行的代码?
这是我在 Rakefile 中的代码:
task :test, [:site] do |t, args|
args = args.with_defaults(:site => DEFAULT_SITE)
$site = args[:site]
Rake::Task[:cucumber].invoke
end
Before 中的代码现在是这样的:
Before do
if $site.ends_with?('.html')
@engine = PageTester
else
@engine = SiteTester
end
end
这段代码不应该做任何花哨的事情,只是根据命令行中收到的内容选择某个类。如何将site 参数传递给Before 中的代码?
【问题讨论】: