在规范助手中访问 ENV 变量

问题描述 投票:0回答:1

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

我在这里缺少什么?

rspec rspec-rails
1个回答
0
投票

既然你有

.env.test
,看来你使用了dotenv gem

检查您的 Gemfile gem 符号

如果此行不在文件顶部,请将其移动到那里(在全局部分中)

gem 'dotenv-rails', require: 'dotenv/rails-now'
© www.soinside.com 2019 - 2024. All rights reserved.