我有一个简单的新 Rails 4 应用程序,当我运行时它会破坏开发数据库rake test:units
,即使我已经在 test_helper.rb 中设置了 RAILS_ENV。我没想到会这样。以下是重现它的简单步骤。
我有 Ruby 2.0.0p247 和 Rails 4.0.1。
rails new foo
rails generate scaffold gadget
rake db:migrate
我编辑 test/models/gadget_test.rb 如下所示:
require 'test_helper'
class GadgetTest < ActiveSupport::TestCase
test "the env" do
assert_equal "test", Rails.env
end
end
我已经编辑了 test/test_helper.rb 的第一行
ENV["RAILS_ENV"] ||= "test"
to be
ENV["RAILS_ENV"] = "test"
即便如此,当测试调用时rake test:units
它失败:
1) Failure:
GadgetTest#test_the_env test/models/gadget_test.rb:5]:
Expected: "test"
Actual: "development"
对于我设置的旧版(Rails 3)应用程序,我可以指望它默认为测试环境。我缺少什么?