2012-07-13 43 views
0

我剛剛更新我的Rails應用程序以使用Authlogic。驗證在開發模式下正常工作,但測試不再有效。每次我啓動rspec的使用bundle exec rake spec,應用程序會引發以下錯誤消息(修整):使用RSpec 2.10和Rails 3.2測試Authlogic 3.1

/home/user/.rvm/gems/ruby-1.9.3-p194/gems/authlogic-3.1.3/lib/authlogic/acts_as_authentic/base.rb:31:in `acts_as_authentic': You must establish a database connection before using acts_as_authentic (StandardError) 
    from /home/user/Documents/projects/rails_demo/app/models/user.rb:6:in `<class:User>' 
    from /home/user/Documents/projects/rails_demo/app/models/user.rb:2:in `<top (required)>' 
    from /home/user/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require' 

我知道它是與數據庫的連接沒有被建立起來,但我不知道我有什麼要解決它。它在開發中工作。

順便說一句,這是我的數據庫配置:

test: 
    adapter: sqlite3 
    database: ":memory:" 

production: 
    adapter: sqlite3 
    database: db/production.sqlite3 
    pool: 5 
    timeout: 5000 

誰能爲我提供什麼我必須做的來解決這個問題一個指導? 任何幫助,將不勝感激。謝謝!

回答

0

對不起,回答我自己的問題。我應該早點發現它。 更改爲測試環境中的數據庫配置,以問題解決了:

test: 
    adapter: sqlite3 
    database: db/test.sqlite3 
    pool: 5 
    timeout: 5000 

不過,我不知道爲什麼Authlogic不會在內存中的sqlite3數據庫一起工作。