3
我正在將測試與Rspec集成到相當大的/開發的應用程序中。當我運行測試時,我發現我的一些初始化程序非常奇怪的錯誤。Rspec測試未運行,因爲初始化程序Yaml文件
例如,我carrierwave.rb
負載YAML文件,當我運行測試命令我得到:
carrierwave.rb:11:in `block in <top (required)>': undefined method `[]' for nil:NilClass
它指的是下面的代碼的第二行:
fog_config = YAML::load_file(Rails.root.join 'config/fog.yml')[Rails.env.to_s]
config.fog_directory = fog_config['directory']
瞬間,如果我刪除載波中的那一行代碼,omniauth也開始抱怨:
omniauth.rb:4:in `block in <top (required)>': undefined method `symbolize_keys' for nil:NilClass (NoMethodError)
同樣,另一個YAML文件:
fb_config = YAML::load_file(Rails.root.join 'config/fb_app_version.yml')[Rails.env].symbolize_keys
我猜的解決辦法是改變我的YAML文件或包含在測試中的東西,但我不知道是什麼。任何想法將不勝感激,謝謝。
謝謝!一旦我讀到你的答案就很有意義! – Dol