【发布时间】:2011-07-20 10:32:32
【问题描述】:
我很难理解 Rake 如何处理 Cucumber 任务。我可能做错了,但看不出“正确”的方式是什么。
我有以下任务:
namespace :features do
Cucumber::Rake::Task.new(:browser, 'Run Cucumber Features using a Browser') do |t|
t.profile = ENV['HUDSON'] ? 'browser_hudson' : 'browser'
setup_environment
check_profile(t.profile)
end
Cucumber::Rake::Task.new(:headless, 'Run Cucumber Features using a Headless Browser') do |t|
t.profile = ENV['HUDSON'] ? 'hudson' : 'default'
setup_environment
check_profile(t.profile)
end
end
这对我来说似乎很直接。
问题是当我运行任何黄瓜任务时,我看到两个任务都在执行。所以如果我这样做:
rake features:browser
或
rake features:headless
我看到 setup_environment 和 check_profile 运行了两次,然后实际任务被调用。我最终看到的是这样的:
setup_environment called
check_profile called, running in browser
setup_environment called
check_profile called, running headless
** Invoke features:browser (first_time)
** Execute features:browser
当然,它现在正在无头运行。
我猜我不应该在 Cucumber 任务的任务定义中做任何“工作”。有没有我应该研究的替代方案来解决这个问题?
【问题讨论】: