.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的答案后,我发现每个环境需要指定文件。