web-dev-qa-db-fra.com

Comment puis-je déterminer si mon Rails est dans l'environnement de développement et non dans l'environnement de test?

J'ai du code qui ne doit être exécuté que si Rails est dans l'environnement de développement (c.-à-d. $ Rails)) mais pas dans l'environnement de test (c.-à-d. $ test de rake).

Quand j'essaye

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

le code est exécuté quel que soit l'environnement dans lequel je me trouve. J'ai même essayé:

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

mais pas d'amour.

Que devrais-je faire à la place?

Peter.

74
spierepf

On dirait que vous l'appelez correctement. Le problème est peut-être que l'environnement est nommé différemment quelque part. Essayez dans la console:

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

... pour confirmer que l'environnement est ce que vous pensez.

138
Mori