Skip to content

RAILS_ENV gets set to 'development' (not 'test') when running rake spec #586

Closed
@joehorsnell

Description

@joehorsnell

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:incall'
/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:ineach'
/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:inblock 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:ininvoke_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:ineach'
/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:inblock 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:ininvoke_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:ineach'
/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:inblock 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:ininvoke_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:ineach'
/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:inblock 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:ininvoke_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:ineach'
/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:inblock 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:ininvoke_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:ininvoke_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:ineach'
/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:instandard_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:inblock 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:inrun'
/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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions