2011-02-01 2 views
0

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

Все мои тесты не получится, запустить ли я

Error: test_the_truth(UsersControllerTest): ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: user_sessions: DELETE FROM "user_sessions" WHERE 1=1

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

+1

Вы смотрели на документы Authlogic? http://rdoc.info/github/binarylogic/authlogic/master/Authlogic/TestCase – zetetic

+1

Вы выполнили миграцию тестовой базы данных? – tjeden

ответ

1

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

1

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

Подробнее о проблеме here

 Смежные вопросы

  • Нет связанных вопросов^_^