Description
Hi,
When running "rake spec" with a Rails 3.2.7 app and RSpec 2.11.0, Rails.env is getting set to 'development', rather than defaulting to 'test'. The spec_helper has the ENV["RAILS_ENV"] ||= 'test' line right at the top (as generated by "rails g rspec:install") but it's too late at that point, that environment variable has already been set.
I will zip and attach (if possible) a sample Rails app to recreate the issue, but a bit of debugging shows that the RAILS_ENV environment variable is being set from the following before spec_helper is loaded:
Setting RAILS_ENV = development
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.7/lib/rails/tasks/misc.rake:4:in block in <top (required)>' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:205:in
call'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:205:in block in execute' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:200:in
each'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:200:in execute' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:158:in
block in invoke_with_call_chain'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:151:in
invoke_with_call_chain'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:176:in block in invoke_prerequisites' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in
each'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in invoke_prerequisites' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:157:in
block in invoke_with_call_chain'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:151:in
invoke_with_call_chain'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:176:in block in invoke_prerequisites' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in
each'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in invoke_prerequisites' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:157:in
block in invoke_with_call_chain'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:151:in
invoke_with_call_chain'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:176:in block in invoke_prerequisites' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in
each'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in invoke_prerequisites' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:157:in
block in invoke_with_call_chain'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:151:in
invoke_with_call_chain'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:176:in block in invoke_prerequisites' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in
each'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in invoke_prerequisites' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:157:in
block in invoke_with_call_chain'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in mon_synchronize' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:151:in
invoke_with_call_chain'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:144:in invoke' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:116:in
invoke_task'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:94:in block (2 levels) in top_level' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:94:in
each'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:94:in block in top_level' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:133:in
standard_exception_handling'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:88:in top_level' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:66:in
block in run'
/Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:133:in standard_exception_handling' /Users/joe/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:63:in
run'
/Users/joe/.rbenv/versions/1.9.3-p194/bin/rake:32:in `
/Users/joe/.rbenv/versions/1.9.3-p194/bin/ruby -S rspec ./spec/rspec_test_env_spec.rb
Cheers,
Joe.