SOMETHING=123 SOMETHING_ELSE="this is a test" rake spec
字符串 或者,您可以在Rakefile或spec_helper.rb的顶部定义以下内容:
ENV['SOMETHING']=123
ENV['SOMETHING_ELSE']="this is a test"
型 如果它们并不总是适用,你可以使用条件:
if something_needs_to_happen?
ENV['SOMETHING']=123
ENV['SOMETHING_ELSE']="this is a test"
end
型 如果你想使用Foreman .env文件,它看起来像:
SOMETHING=123
SOMETHING_ELSE="this is a test"
型 然后把它变成下面的并评估它:
ENV['SOMETHING']='123'
ENV['SOMETHING_ELSE']='this is a test'
型 您可以这样做:
File.open("/path/to/.env", "r").each_line do |line|
a = line.chomp("\n").split('=',2)
a[1].gsub!(/^"|"$/, '') if ['\'','"'].include?(a[1][0])
eval "ENV['#{a[0]}']='#{a[1] || ''}'"
end
3条答案
按热度按时间4xrmg8kj1#
如果你只需要设置环境变量,你可以从命令行设置它们:
字符串
或者,您可以在
Rakefile
或spec_helper.rb
的顶部定义以下内容:型
如果它们并不总是适用,你可以使用条件:
型
如果你想使用Foreman
.env
文件,它看起来像:型
然后把它变成下面的并评估它:
型
您可以这样做:
型
虽然我不认为这对多行值起作用。
正如@JesseWolgamott所指出的,看起来你可以使用
gem 'dotenv-rails'
。sulc1iza2#
你可以使用dotenv gem-它的工作方式和foreman一样,从一个.env文件加载。(以及测试环境的.env.test文件)
https://github.com/bkeepers/dotenv
kmbjn2e33#
一种选择是将rspec命令别名化,使其更具体一些。将下面这行代码放入你的dotfiles(
.bashrc
或.profile
或其他)。字符串
另一种选择是将环境变量放在特定的.env文件中:
型
使用
dotenv
gem可以工作,或者您可以手动引入它们型