2011-02-10 6 views
3

私はrails (3.0.4)rspec-rails (2.5.0). When I runレール使ってRSpecの発生しています:Rails 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の中で1回しか実行されないので、迷惑なことではありませんが、可能であれば、その非推奨を撤回したいと思います。私はRailsを初めて使っていて、rspec-rails issuesや他の場所でこれについて言及していません。

答えて

6

警告が一定のRAILS_ENVが廃止されていることを言っていることはなく、環境変数ENV["RAILS_ENV"]。 Railsリポジトリをクローンして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

関連する問題