当通过自定义Rake任务运行`rake test`时,为什么不需要environment / test.rb?

时间:2017-09-15 01:59:56

标签: rake ruby-on-rails-5

对于$ REASONS,我创建了一个Rake任务来论文rake test。但是,当我使用包装器任务时,从不需要config / environments / test.rb,因此会发生不希望的事情(发送电子邮件,删除数据库等)。

(FWIW,Rails.envENV['RAILS_ENV']在退化情况下仍然设置为test。)

namespace :organization do    
  desc "Run unit tests."
  task :unit do
    puts Rails.env # test
    Rake::Task["test"].invoke
  end
end

1 个答案:

答案 0 :(得分:0)

您需要在rake任务中传递:environment才能使其正常工作。

namespace :organization do    
  desc "Run unit tests."
  task unit: [:environment] do
    puts Rails.env # test
    Rake::Task["test"].invoke
  end
end