Authlogic вызывает сбой всех тестов рельсов

Я создаю приложение на Rails 3, используя Authlogic для аутентификации. У меня есть модель User с таблицей базы данных и модель user_session без нее.

Все мои тесты терпят неудачу, независимо от того, бегу ли я

Ошибка: test_the_truth (UsersControllerTest): ActiveRecord :: StatementInvalid: SQLite3 :: SQLException: такой таблицы нет: user_sessions: DELETE FROM "user_sessions" WHERE 1 = 1

Ожидается, что в user_session будет таблица, даже если она унаследована от Authlogic. Кто-нибудь знает, как это исправить?


person John    schedule 01.02.2011    source источник
comment
Вы смотрели документы Authlogic? rdoc.info/github/binarylogic/authlogic/master/Authlogic/   -  person zetetic    schedule 01.02.2011
comment
Вы сделали миграцию для тестовой базы данных?   -  person tjeden    schedule 01.02.2011


Ответы (2)


Убедитесь, что вы правильно определили тестовую базу данных в config / database.yml, затем попробуйте rake db:test:prepare или rake db:migrate RAILS_ENV=test.

person farnoy    schedule 01.02.2011

У меня была такая же проблема, и мне потребовалось время, чтобы обнаружить ... Дело в том, что у Authlogic нет таблицы в базе данных. Когда мы создаем сеансы с помощью Rails generate, это также автоматически создает фикстуру, которая, конечно же, потерпит неудачу позже, так как нет таблицы для заполнения данных. Решение: удалите фикстуру user_sessions.

Подробнее о проблеме см. здесь

person Cristobal Viedma    schedule 15.12.2011