SQLite3 Ошибка при тестировании авторизации канкан в Rails3: нет такого стола: умения: Удалить из «Способности», где 1 = 1
-
25-09-2019 - |
Вопрос
У меня проблемы при запуске тестов по умолчанию в Rails3 Beta4 с CANCAN (http://github.com/ryanb/cancan.). Тесты - это простое автоматическое создание ванили
Проверьте «Истина», утверждают истинный конец
Каждый тест (как единица и функционал) дает следующую ошибку:
ActiveReCord :: authentInvalid: SQLite3 :: SQLException: Нет такого стола: умения: Удалить из «Способности», где 1 = 1
Это происходит, даже если использование и способность определяются в Test_helpers.rb
Я предполагаю, что это связано с моделей способностей Cancan использует для авторизации, поскольку оно не сохраняется (просто простой класс Ruby), и поэтому не имеет стола в БД. Возможно, что-то пытается снести способности после тестов и ошибочно пытаться удалить способности из базы данных? Как я могу проверить это (и что более важно, исправить)?
Еще раз, в тестах нет пользовательской логики: они так же сгенерированы Rails3 Beta4.
(FYI Класс способностей не наследует от ActiveERecord :: Base и включает в себя Cancan :: Способность. Также приложение - авторизация и все - отлично работает.)
Окружающая среда: - Ruby 1.8.7-P249 - Rails 3.0.0.Beta4 - Cancan 1.2.0 - Devise 1.1.rc2
Кто-нибудь еще бег в эту проблему?
Спасибо за вашу помощь !
Обновление: попробовал переключение на PostgreSQL. Очевидно, что ошибка не зависит от DB: получила следующую ошибку при запуске «Rake Test»
ActiveReCord :: authentInvalid: PGERROR: Ошибка: Соответствие «Способности» не существует строки 1: Удалить из «Способности» ^: Удалить из «Способности»
Решение
Проблема решена: у меня было возможности .yml файл прибора. После удаления его ошибка ушла.