大家好我想问一下,如果Ruby有一个环境值,我可以在其中存储一个变量并在我的测试中的任何地方使用它,就像QTP Environment.value =“SomeValue”
答案 0 :(得分:1)
环境变量存储在ENV
常量中,可以像Hash
例如
ENV["PS1"]
=> "\\u@\\h:\\w (\\t)$ "
环境变量在存储配置时非常有用
这样:
ENV["QTP"] = "Some value"
会使ENV["QTP"]
成为可在应用程序的整个生命周期内访问的环境变量(您可以根据test
,development
或{{1}中的环境对此进行调整}})
因此,您可以在运行ruby应用程序之前将配置存储在shell变量中,production
包含:
bar.rb
运行ruby文件,如下所示:
puts ENV["QTP"]
将“foo”打印到您的控制台
或者你可以将值存储在一个常量中,并且它应该在应用程序的整个生命周期内保持相同
答案 1 :(得分:0)
如果是您的测试并且您不关心线程安全性,则可以使用全局变量或常量。
$global_var = "SomeValue"
CONSTANT = "SomeValue"
不应修改CONSTANT
,并且可以修改$global_var
如果您担心线程,可以使用线程变量
Thread.current[:your_var_name] = "SomeValue"
每个帖子的Thread.current[:your_var_name]
答案 2 :(得分:0)
Environment Variables就是 - 存储在应用环境中的变量
您的应用程序的环境是您的应用程序运行的操作系统/服务器,这意味着如果您要存储在您的应用程序中使用的变量,则必须在操作系统级别设置它们
Heroku上Rails中ENV变量的最佳示例:
heroku config:set YOUR_VAR=your_value
<强>费加罗强>
我强烈建议您查看Figaro
gem
这可以模拟开发中的ENV变量,并允许您非常轻松地将它们推送到您的生产环境
强烈建议您在所有环境中保持ENV数据的一致性,这就是费加罗非常擅长的:)