Одна из моих задач Rake вызывает Cucumber с Rake::Task[:cucumber].invoke
. Перед этим моя задача устанавливает набор переменных, которые должны использоваться в сценариях 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
?