在lib / tasks任务中调用任务时,黄瓜方案不会运行

时间:2012-11-21 15:24:25

标签: ruby-on-rails cucumber rake

我在lib / tasks中有以下任务:

    task :cuke_test_db_constraints do
      puts 'cuke_test_db_constraints'
      ENV['TEST_DB_CONSTRAINTS'] = '1'
      Rake::Task['cucumber'].reenable
      Rake::Task['cucumber'].invoke
    end

    task :default => :cuke_test_db_constraints

如您所见,我想在设置env变量后再次运行黄瓜。但是,当cuke_test_db_constraints任务运行时,黄瓜不会运行场景。黄瓜任务本身运行,我通过添加调试输出检查它:lib / tasks / cucumber.rake中的黄瓜任务。

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:1)

您应该声明cucumber任务取决于cuke_test_db_constraints,而不是强制性地调用任务。

task :cuke_test_db_constraints do
  puts 'cuke_test_db_constraints'
  ENV['TEST_DB_CONSTRAINTS'] = '1'
end

task :default => :cucumber
task :cucumber => :cuke_test_db_constraints