.env没有在带有rspec的Rails中加载到测试环境中
我使用gem 'dotenv-rails', '~> 0.9.0'
将环境变量加载到Rails 4.0.5应用程序中。 我有.env文件和.env.test。 所有这些都在开发中运行良好,但是当涉及到测试时,我使用rspec,它无法设置环境变量。
我在测试环境中进入了Rails控制台,我可以看到它们被设置为nil。
有关如何在测试中加载dotenv的任何提示?
这是一个迟到的答案,但对于任何可能觉得有帮助的人,请将其添加到spec_helper.rb
require 'dotenv' Dotenv.load('.env')
此外,Dotenv.load可以接受列表,例如:
Dotenv.load( '.env.local', '.env.test', '.env' )
将这一行放在rspec设置中的Dotenv::Railtie.load
或您要加载dot env文件的任何页面中。
Dotenv.load(File.expand_path("../../.env.#{Rails.env}", __FILE__))
在研究Paritosh的答案后,我发现每个环境需要指定文件。