SQLite3 Ошибка при тестировании авторизации канкан в Rails3: нет такого стола: умения: Удалить из «Способности», где 1 = 1

StackOverflow https://stackoverflow.com/questions/3410779

  •  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 файл прибора. После удаления его ошибка ушла.

http://github.com/ryanb/cancan/issues/Closed#sue/109.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top