Ich habe Code, der nur ausgeführt werden muss, wenn sich die Rails-App in der Entwicklungsumgebung (dh $ Rails-Server) befindet, aber nicht in der Testumgebung (dh $ Rake-Test).
Wenn ich es versuche
if Rails.env.development?
dont run me during testing
end
Der Code wird unabhängig von der Umgebung ausgeführt, in der ich mich befinde. Ich habe sogar versucht:
if Rails.env.development? and not Rails.env.test?
NO, REALLY, DONT RUN ME DURING TESTING
end
aber keine Liebe.
Was soll ich stattdessen tun?
ruby-on-rails
testing
environment
spierepf
quelle
quelle
Rails.env
innerhalb dieses Blocks auszugeben , um zu sehen, welche Umgebung Rails verwendet?Antworten:
Es sieht so aus, als würden Sie es richtig nennen. Vielleicht liegt das Problem darin, dass die Umgebung irgendwo anders benannt ist. Versuchen Sie es in der Konsole:
> Rails.env => "development" > Rails.env.development? => true > Rails.env.test? => false
... um zu bestätigen, dass die Umgebung so ist, wie Sie denken.
quelle
RAILS_ENV=test rails console
.