【问题标题】:Cucumber scenarios don't run when is task invoked in a lib/tasks task在 lib/tasks 任务中调用任务时,黄瓜场景不会运行
【发布时间】:2012-11-09 21:23:00
【问题描述】:

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

任务:cuke_test_db_constraints 做 放'cuke_test_db_constraints' ENV['TEST_DB_CONSTRAINTS'] = '1' Rake::Task['cucumber'].reenable Rake::Task['cucumber'].invoke 结尾 任务:默认 =>:cuke_test_db_constraints

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

有什么想法吗?谢谢。

【问题讨论】:

  • 哦,我忘了补充一点,如果我运行rake cuke_test_db_constraints,那么它可以工作,但如果我只使用rake,它就不行。
  • 我找到了一个解决方法:用户 cucumber:ok 任务名称,然后就可以了。
  • 如果你自己回答过,你应该写在下面。
  • 我想你也可以在任务名称后面加上=> :environment。如果没有那个人,可能无法正确地收集所有内容。

标签: ruby-on-rails cucumber rake


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 2011-02-06
    相关资源
    最近更新 更多