2011-08-24 74 views
1

我剛學Rails的測試,我不能夠運行任何測試(甚至是「斷言真」的例子),因爲我從一個不相關的模型得到一個錯誤,不能夠加載自定義配置文件變量。Rails進行測試不加載自定義應用程序配置文件

我的應用程序在environment.rb中每本Railscast插曲(http://railscasts.com/episodes/85-yaml-configuration-file)裝入

APP_CONFIG = YAML.load_file("#{::Rails.root.to_s}/config/config.yml")[RAILS_ENV] 

那精細的自定義配置文件正常的應用程序,但在測試中它不是在一個模型加載它:

has_attached_file :photo, 
         :bucket => APP_CONFIG['s3_bucket'] 

控制檯錯誤:`const_missing_from_s3_library':未初始化的常量資產:: APP_CONFIG(NameError)

(它建議立即進行刪除ð注意的是,不是我想測試相同的模型,但我想在測試環境中運行整個應用程序?)

是什麼樣的測試環境下,它不會運行的environment.rb不同?

+0

請問你的配置文件看起來像? – Deradon

+0

發展: upgrade_price:24 root_url:HTTP://本地主機:3000/ #等 測試: upgrade_price:24 root_url:HTTP://本地主機:3000/ #等 – user478798

回答

3

我想通了這一點,因爲我自己的Heroku和測試環境有一個共同點:

Heroku的不加載的environment.rb 之前的模型和同樣沒有測試環境。

我所有的控制器都加載了上面提到的自定義配置變量(在dev和Heroku中),但只要模型試圖在Heroku中加載其中一個或測試,它就嚇壞了。

課:對Heroku的,用自己的custom config vars和ENV [ '名']引用它,並添加 '出口名= 「無所謂」' 給你的.bash_profile

(或試圖this

0

我把礦在application.rb中的底部(導軌3.2),並在Heroku上工作得很好。

相關問題