web-dev-qa-db-ja.com

Railsがテスト環境ではなく開発環境にあるかどうかを確認するにはどうすればよいですか?

Railsアプリが開発環境(つまり$ Railsサーバー)にあるがテスト環境にはない場合にのみ実行する必要があるコードがあります(つまり、 $レーキテスト)。

しようとすると

if Rails.env.development?
    dont run me during testing
end

私がどの環境にいてもコードは実行されます。私も試しました:

if Rails.env.development? and not Rails.env.test?
    NO, REALLY, DONT RUN ME DURING TESTING
end

しかし、愛はありません。

代わりに何をすべきですか?

ピーター。

74
spierepf

正しく呼び出しているようです。おそらく問題は、環境のどこかで異なる名前が付けられていることです。コンソールで試してください:

> Rails.env
=> "development"
> Rails.env.development?
=> true
> Rails.env.test?
=> false

...環境があなたが思っているとおりであることを確認します。

138
Mori