Ruby 由于初始化器Yaml文件,Rspec测试未运行

Ruby 由于初始化器Yaml文件,Rspec测试未运行,ruby,rspec,ruby-on-rails-3.2,yaml,Ruby,Rspec,Ruby On Rails 3.2,Yaml,我正在将测试与Rspec集成到一个相当大/已开发的应用程序中。当我运行测试时,我从一些初始化者那里得到了非常奇怪的错误 例如,当我运行test命令时,我的carrierwave.rb加载一个yaml文件,我得到: carrierwave.rb:11:in `block in <top (required)>': undefined method `[]' for nil:NilClass 如果我删除carrierwave中的那行代码,omniauth也会立即开始抱怨: omniau

我正在将测试与Rspec集成到一个相当大/已开发的应用程序中。当我运行测试时,我从一些初始化者那里得到了非常奇怪的错误

例如,当我运行test命令时,我的
carrierwave.rb
加载一个yaml文件,我得到:

carrierwave.rb:11:in `block in <top (required)>': undefined method `[]' for nil:NilClass
如果我删除carrierwave中的那行代码,omniauth也会立即开始抱怨:

omniauth.rb:4:in `block in <top (required)>': undefined method `symbolize_keys' for nil:NilClass (NoMethodError)

我猜解决方案是更改yaml文件或在测试中包含一些内容,但我不确定是什么。任何想法都将不胜感激,谢谢。

看起来您需要在相关Yaml文件中包含
test
条目

例如,您的
config/fog.yml
可能如下所示:

生产:
目录:_prod_目录
其他_键:。。。
发展:
目录:_dev_目录
其他_键:。。。
您需要添加一个
test
键:

test:
  directory: the_test_dir
  other_keys: appropriate values
  fb_config = YAML::load_file(Rails.root.join 'config/fb_app_version.yml')[Rails.env].symbolize_keys
test:
  directory: the_test_dir
  other_keys: appropriate values