ERRO SQLITE3 Ao testar as autorizações do CANCAN no Rails3: Não tais tais: Habilidades: Exclua de “Habilidades” onde 1 = 1
-
25-09-2019 - |
Pergunta
Estou tendo problemas ao executar os testes padrão no Rails3 beta4 com o cancan (http://github.com/ryanb/cancan). Os testes são os simples gerados automaticamente de baunilha que parecem
Teste "The Truth" afirma o verdadeiro fim
Cada teste (unidade e funcional) produz o seguinte erro:
ActiveRecord :: DeclarationInValid: SQLITE3 :: SQLEXCECCIONE: Nada tais tais: Habilidades: Exclua de "Habilidades" onde 1 = 1
Isso acontece mesmo que um uso e habilidade sejam definidos em test_helpers.rb
Suponho que isso se deva ao modelo de habilidade que o CanCan usa para a autorização, pois não é persistido (apenas uma classe rubi simples) e, portanto, não tem tabela no banco de dados. Talvez algo esteja tentando derrubar habilidades depois de testes e, por engano, tentar excluir habilidades do banco de dados? Como posso verificar isso (e mais importante, consertar)?
Mais uma vez, não há lógica personalizada nos testes: eles são gerados pelo Rails3 Beta4.
(Para sua informação, a classe de habilidade não herda do ActiveRecord :: Base e inclui CANCAN :: Capacidade. Além disso, o aplicativo-autorização e tudo bem.)
Ambiente: - Ruby 1.8.7 -P249 - Rails 3.0.0.beta4 - CanCAN 1.2.0 - Devise 1.1.rc2
Alguém mais se depara com esse problema?
Obrigado pela ajuda !
ATUALIZAÇÃO: Tentei alternar para o PostgreSQL. Evidentemente, o erro é independente de DB: obteve o seguinte erro ao executar o "teste de rake"
ActiveRecord :: DeclarationInValid: Pgerror: Erro: Relacionamento "Habilidades" não existe linha 1: Exclua das "habilidades" ^: Exclua das "habilidades"
Solução
Problema resolvido: eu tinha um arquivo de acessórios para habilidades.yml. Depois de excluí -lo, o erro se foi.