代码之家  ›  专栏  ›  技术社区  ›  Ricky Notaro-Garcia

如何测试Rspec中环境变量的存在性

  •  0
  • Ricky Notaro-Garcia  · 技术社区  · 7 年前

    问题

    实现这个目标有很多方法,但我想知道在Ruby on Rails项目中测试环境变量存在性的最佳方法是什么。

    上下文

    最近,我们的一个Rails项目中出现了一个与丢失的环境变量相关的生产问题。

    为了防止这种情况再次发生,我想测试 application.yml 配置文件。

    我使用的是Ruby2.5、Rails4.2和Spring2。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Stan Mazhara    7 年前

    除非在 application.yml 是绝对的要求(为什么?),这是我要的。做一个 config/initializers/env.rb 在里面放些东西

    %i[FOO BAR BAZ].each do |var|
      ENV[var] = ENV.fetch(var)
    end
    

    这将读取所有必需的环境变量(FOO、BAR、BAZ等)和 Hash#fetch 如果在启动时未设置此变量,它们将“引发”。