خطأ SQLite3 عند اختبار تراخيص Cancan في Rails3: لا يوجد مثل هذا الجدول: القدرات: حذف من "القدرات" حيث 1 = 1

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

  •  25-09-2019
  •  | 
  •  

سؤال

أواجه مشكلات عند إجراء الاختبارات الافتراضية في Rails3 Beta4 مع Cancan (http://github.com/ryanb/cancan). الاختبارات هي التجارب التي تنشئها الفانيليا البسيطة التي تبدو

اختبار "الحقيقة" تؤكد النهاية الحقيقية

كل اختبار واحد (كل من الوحدة والوظيفية) يعطي الخطأ التالي:

ActivereCord :: stitemsinvalid: sqlite3 :: sqlexception: لا يوجد مثل هذا الجدول: القدرات: حذف من "القدرات" حيث 1 = 1

يحدث هذا حتى إذا تم تعريف الاستخدام والقدرة في test_helpers.rb

أفترض أن هذا يرجع إلى نموذج القدرة التي يستخدمها Cancan للترخيص لأنه لم يستمر (مجرد فئة روبي عادي) وبالتالي لا يوجد لديه جدول في DB. ربما يحاول شيء ما هدم القدرات بعد الاختبارات ومحاولة حذف القدرات من قاعدة البيانات؟ كيف يمكنني التحقق من هذا (والأهم من ذلك ، الإصلاح)؟

مرة أخرى ، لا يوجد منطق مخصص في الاختبارات: يتم إنشاؤها بواسطة Rails3 Beta4.

(لمعلوماتك ، لا ترث فئة القدرة من ActivereCord :: Base وتتضمن Cancan :: القدرة. أيضًا ، التطبيق-التراجع والجميع-Works بشكل جيد.)

البيئة: - Ruby 1.8.7 -P249 - Rails 3.0.0.beta4 - Cancan 1.2.0 - ابتكار 1.1.rc2

أي شخص آخر يواجه هذه القضية؟

شكرا لمساعدتك !

تحديث: حاول التبديل إلى postgresql. من الواضح ، الخطأ مستقل عن DB: حصلت على الخطأ التالي عند تشغيل "اختبار Rake"

ActivereCord :: stitemsinvalid: pgerror: خطأ: العلاقة "القدرات" غير موجودة السطر 1: حذف من "القدرات" ^: حذف من "القدرات"

هل كانت مفيدة؟

المحلول

تم حل المشكلة: كان لدي ملفات. بعد حذفه ، ذهب الخطأ.

http://github.com/ryanb/cancan/issues/closed#issue/109

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top