ruby-on-rails - .env 没有被加载到 Rails 的测试环境中,使用 rspec

标签 ruby-on-rails rspec environment-variables

我正在使用 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'
)

关于ruby-on-rails - .env 没有被加载到 Rails 的测试环境中,使用 rspec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29823257/

相关文章:

ruby-on-rails - 如何将带有 key 的 json 文件上传到 Heroku

ruby - 将 RSpec 作为 Rake 任务运行有什么好处

javascript - 在ajax调用上重新加载tinymce.init函数

ruby-on-rails - 如何使用 ruby​​ 从 self 方法调用另一个方法?

ruby-on-rails - Rspec 不能 stub where 或 find_by_,只能找到

ruby-on-rails - 抽象出 RSpec 测试中的常见设置步骤

bash - 为什么我必须输入 source env.sh 才能使用名为 Madagascar 的地球物理处理软件?

javascript - Node.js (VS Code) 中的环境变量未定义

django - 如何使用 NGINX 为 Django 应用程序的用户 www-data 设置 AWS 凭证

css - 如何在 ruby​​ on rails 上基于 Bootstrap 的导航栏中显示图像