레일스 3.0에서는 Rspec의 ENV [ "RAILS_ENV"] || = 'test'가 사용되지 않을까요?

2011-02-10 4 views
3

나는 rails (3.0.4)rspec-rails (2.5.0). When I run 레일 사용 RSpec에 발생 해요 :레일스 3.0에서는 Rspec의 ENV [ "RAILS_ENV"] || = 'test'가 사용되지 않을까요?

DEPRECATION WARNING: RAILS_ENV is deprecated. Please use ::Rails.env. 
: 나는이 터미널에에 경고를받을 rake spec을 실행하면

ENV["RAILS_ENV"] ||= 'test' 

:이 줄을 포함 it produces spec_helper.rb` 설치

이것은 내 Spork.prefork 안에 한 번만 실행되기 때문에 성가신 것은 아니지만 가능하면 그 비추천을 지나치게하고 싶습니다. 나는 Rails에 익숙하지 않고 rspec-rails issues 또는 그 밖의 다른 곳에서 이것에 대한 언급을 발견하지 못했습니다.

답변

6

:

경고가 일정 RAILS_ENV이되지 않습니다 있음을 말하고있다 그건 아닌 환경 변수 ENV["RAILS_ENV"]. Rails repo를 복제하고 v3.0.4 태그를 체크 아웃하고 RAILS_ENV을 검색하면 Rails 자체가 여러 곳에서 ENV["RAILS_ENV"]을 사용한다는 것을 알 수 있습니다.

앱의 다른 곳에서오고 있어야합니다.

+0

고마워! 문제는 newrelic_rpm 젬에서 발생했습니다. – Turadg

2

Rails 3.0.4에서 새로 추가해야합니다.

은 사양/spec_helper.rb에서 require rspec/rails 라인

룩을 ENV["RAILS_ENV"] || = 'test' 제거 :이 작동해야한다.

::Rails.env ||= 'test' 바로 뒤에 추가하십시오.

rspec-rails 트래커에서 문제를 열면 변경이 필요합니다. Dup는 GitHub issue 내 반응

+0

고마워. [문제보고] (https://github.com/rspec/rspec-rails/issues/328). – Turadg

+1

업데이트, 작동하지 않습니다. Rails.env는 그 시점에서'development'를 리턴하므로'|| ='는 아무 것도하지 않습니다. 내 테스트가 내 개발 DB에서 실행되는 이유를 파악하는 데 시간이 걸렸습니다. :) – Turadg

 관련 문제

  • 관련 문제 없음^_^