rspec-rails (6.0.3)
位于spec_helper.rb
顶部,我无法获取环境变量,这是预期的行为吗?
我正在尝试将
simplecov
设置为仅在 CI 上运行,并且正如我过去多次所做的那样(使用较旧的 RSpec 版本),我在 require 'simplecov' if ENV['CI'] == "true"
的最顶部添加了 spec_helper.rb
。然而,这次 ENV['CI'] 没有定义,即使我的 .env.test
文件看起来像
DATABASE_URL=postgres://...
CI=true
如果我在
require ...
行下方添加,puts ENV['CI']
我会得到一个空行
sig@mbc app % bin/rspec spec
.
Finished in 1.66 seconds (files took 2.03 seconds to load)
1 example, 0 failures
如果我添加
puts ENV
而不是获得哈希值,我会得到 ENV
。
sig@mbc app % bin/rspec spec
ENV
.
Finished in 1.64 seconds (files took 1.93 seconds to load)
1 example, 0 failures
我在这里缺少什么?
既然你有
.env.test
,看来你使用了dotenv gem
检查您的 Gemfile gem 符号
如果此行不在文件顶部,请将其移动到那里(在全局部分中)
gem 'dotenv-rails', require: 'dotenv/rails-now'