/ / Wartości środowiska w Ruby - ruby-on-rails, ruby

Wartości środowiskowe w Ruby - ruby-on-rails, ruby

Cześć wszystko, co chcę zapytać, czy Ruby ma wartości środowiska, w których mogę przechowywać zmienną i używać jej w dowolnym miejscu mojego testu, tak jak QTP Environment.value = "SomeValue"

Odpowiedzi:

1 dla odpowiedzi № 1

Zmienne środowiskowe są przechowywane w ENVstały i można uzyskać do niego dostęp Hash

na przykład

ENV["PS1"]
=> "\u@\h:\w (\t)$ "

Zmienne środowiskowe są przydatne do przechowywania konfiguracji

więc:

ENV["QTP"] = "Some value"

zrobiłby ENV["QTP"] zmienna środowiskowa, do której można uzyskać dostęp przez cały okres użytkowania aplikacji (można dostroić ją w zależności od środowiska, w którym się znajdujesz) test, development lub production)

Możesz więc przechowywać swoją konfigurację w zmiennych powłoki przed uruchomieniem aplikacji ruby ​​za pomocą bar.rb zawierający:

puts ENV["QTP"]

Uruchamianie pliku ruby ​​jak poniżej:

QTP=foo ruby bar.rb

Wypisuje „foo” na konsoli

alternatywnie można przechowywać wartości w stałej, a „powinna” pozostać taka sama przez cały okres użytkowania aplikacji


0 dla odpowiedzi nr 2

Jeśli jest to dla twojego testu i nie jesteś zainteresowany bezpieczeństwem nici, możesz użyć zmiennej globalnej lub stałej.

$global_var = "SomeValue"
CONSTANT = "SomeValue"

The CONSTANT nie powinien być modyfikowany, a $global_var może być modyfikowany

Jeśli interesują Cię wątki, możesz użyć zmiennej Thread

Thread.current[:your_var_name] = "SomeValue"

Każdy wątek ma inną wartość Thread.current[:your_var_name]


0 dla odpowiedzi № 3

Zmienne środowiska są dokładnie takie - zmienne przechowywane w Twojej aplikacji środowisko

Środowisko aplikacji to system operacyjny / serwer, na którym działa aplikacja, co oznacza, że ​​jeśli chcesz przechowywać zmienne do wykorzystania w aplikacji, musisz je skonfigurować na poziomie systemu operacyjnego


Heroku

Najlepszy przykład zmiennych ENV w Railsach na Heroku:

heroku config:set YOUR_VAR=your_value

Figaro

Gorąco polecam spojrzenie na Figaro klejnot

Emuluje to zmienne ENV w rozwoju i pozwala na łatwe przeniesienie ich do środowiska produkcyjnego

Jest wysoce zalecane, abyś zachował spójność danych ENV we wszystkich środowiskach, w czym Figaro jest bardzo dobry :)