2014-03-02 96 views
0

大家好,我想問如果Ruby有,我可以一個變量存儲,並在我的測試在任何地方使用它,就像QTP Environment.value =「someValue中」環境值紅寶石

回答

0

如果環境值它是爲了你的測試,你不用擔心線程安全,你可以使用全局變量或常量。

$global_var = "SomeValue" 
CONSTANT = "SomeValue" 

CONSTANT是不應該被修改,並且$global_var可以修改

如果您是通過線程可以使用線程變量有關

Thread.current[:your_var_name] = "SomeValue" 

每個線程有不同的價值對於Thread.current[:your_var_name]

+0

非常感謝您的回覆,但是您對THREAD意味着什麼?我有一個主要的類,我想保存從Excel表返回的許多值,以便在其他類中使用它...因爲我的測試是數據驅動的 – Dhussein

+0

如果您不知道線程,那麼您不關心的部分答案,你可以去一個全局變量。 – Benj

1

環境變量存儲在ENV常量中,它可以像Hash

e。摹

ENV["PS1"] 
=> "\\[email protected]\\h:\\w (\\t)$ " 

環境變量存儲配置

所以是有用的:

ENV["QTP"] = "Some value" 

將使ENV["QTP"],可以在整個應用程序的生命週期進行訪問的環境變量(你可以調整這個基於你在什麼環境中testdevelopmentproduction

所以,你可以存儲在shell變量配置運行你的Ruby應用程序之前,用含有bar.rb

puts ENV["QTP"] 

運行你的ruby文件如下:

QTP=foo ruby bar.rb 

將打印「富」到控制檯

或者您可以將值存儲在Constant中,並且它在應用程序的整個使用期限內「應該」保持不變

0

Environment Variables的正是 - 存儲在您的應用程序的環境變量

您的應用程序的環境是OS /服務器的應用程序正在運行的,這意味着如果你想存儲的使用變量在您的應用程序,你」將不得不設置它們在操作系統級


Heroku

在Rails的ENV變量在Heroku上最好的例子:

heroku config:set YOUR_VAR=your_value 

費加羅

我會強烈建議看Figaro gem

這模擬在發展中的ENV變量,並允許您將它們推到生產環境中很容易

強烈建議您在所有環境中保持ENV數據的一致性,這是費加羅很擅長的:)