问题
有很多方法可以实现该目标,但是我想知道什么是测试Ruby on Rails项目中环境变量是否存在的最佳方法。
上下文
我们最近在一个Rails项目中遇到了与缺少环境变量有关的生产问题。
为防止再次发生这种情况,我想测试application.yml
配置文件中环境变量的存在。
我正在使用Ruby 2.5,Rails 4.2,Spring2。
答案 0 :(得分:2)
除非绝对在application.yml
中进行检查是绝对要求(为什么?),这是我的看法。制作一个config/initializers/env.rb
并放在类似的地方
%i[FOO BAR BAZ].each do |var|
ENV[var] = ENV.fetch(var)
end
此操作将读取所有必需的环境变量(FOO,BAR,BAZ等),并Hash#fetch读取它们,如果在启动时未设置此变量,则会“提高”。