我们正在将Rails 3项目移植到Rails 4.我们的测试在Rails 3下正常运行,环境正确默认测试。但是,当我切换到我的Rails 4项目并以同样的方式运行测试时......
rake test:controllers
我的测试在开发环境下运行,擦除我的dev db并输出到development.log。我无法弄清楚差异。
在我的test_helper.rb中,我有这条线......
ENV["RAILS_ENV"] = "test"
我甚至试过......
Rails.env = "test"
这也不起作用。
奇怪的是,我在测试中有这些投入......
puts "#{__method__} Rails.env: #{Rails.env}"
puts "#{__method__} ENV[RAILS_ENV]: #{ENV["RAILS_ENV"]}"
他们都正确地表明我在"测试"环境。
如果我在rake测试之前使用前缀RAILS_ENV = test:控制器,一切都很好,但我不应该这样做。
谢谢