erreur SQLite3 lors du test des autorisations Cancan en Rails3: pas de tableau: capacités: DELETE FROM « capacités » 1 = 1

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

  •  25-09-2019
  •  | 
  •  

Question

Je vais avoir des problèmes lors de l'exécution des tests par défaut dans Rails3 beta4 avec Cancan ( http://github.com / ryanb / cancan ). Les tests sont ceux auto-générés vanilles qui ressemblent à

test "la vérité" faire   affirmer vrai fin

Chaque essai unique (à la fois de l'unité et fonctionnelle) donne l'erreur suivante:

ActiveRecord :: StatementInvalid: SQLite3 :: SQLException: Aucun tableau: capacités: Supprimer de "capacités" 1 = 1

Cela se produit même si une utilisation et la capacité sont définies dans test_helpers.rb

Je suppose que cela est dû au modèle de capacité Cancan utilise l'autorisation car il ne persistait (juste une classe Ruby ordinaire) et n'a donc pas de table dans la base de données. Peut-être que quelque chose essaie de détruire les capacités après des tests et en essayant à tort de supprimer les capacités de la base de données? Comment puis-je vérifier (et plus important encore, fixer)?

Encore une fois, il n'y a pas une logique personnalisée dans les tests: ils sont aussi générés par Rails3 beta4

.

(Pour votre information, la classe de capacité ne hérite pas de ActiveRecord :: Base et comprend CanCan :: Capacité En outre, l'application -. Autorisation et tout -. Fonctionne très bien)

Environnement: - Ruby 1.8.7-P249 - rails 3.0.0.beta4 - cancan 1.2.0 - concevoir 1.1.rc2

Quelqu'un d'autre dans cette courir question?

Merci pour votre aide!

Mise à jour: essayé de passer à PostgreSQL. De toute évidence, l'erreur est DB indépendant: a obtenu l'erreur suivante lors de l'exécution « test de coupe »

ActiveRecord :: StatementInvalid: PGError: ERREUR: relation "capacités" n'existe pas LIGNE 1: Supprimer de « capacités »                     ^ : DELETE FROM "capacités"

Était-ce utile?

La solution

Problème résolu: J'avais un fichier de montage abilities.yml. Après sa suppression, l'erreur a disparu.

http://github.com/ryanb/cancan/issues/closed # numéro / 109

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top