Тестирование Authlogic 3.1 с RSpec 2.10 и Rails 3.2

Я недавно обновил свое приложение Rails, чтобы использовать Authlogic. Аутентификация работает нормально в режиме разработки, но тест больше не работает. Каждый раз, когда я запускаю rspec с использованием bundle exec rake spec, приложение выдает следующее сообщение об ошибке (обрезано):

/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

Может ли кто-нибудь посоветовать мне, что мне делать, чтобы решить эту проблему? Любая помощь будет оценена. Спасибо!


person Andree    schedule 13.07.2012    source источник


Ответы (1)


Извините, отвечая на свой вопрос. Я должен был обнаружить это раньше. Изменение конфигурации базы данных для тестовой среды, чтобы решить проблему:

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

Тем не менее, я не знаю, почему Authlogic не работает с базой данных sqlite3 в памяти.

person Andree    schedule 13.07.2012