سؤال

أحاول إنشاء مجموعة من حالة الاختبار لتغطية تطبيق Django الخاص بي. أحتاج إلى بيانات قاعدة البيانات المحددة مسبقًا ، لتشغيل بعض الاختبار. لذلك قررت استخدام التركيبات.

ما فعلته هو: 1) تم إنشاء ملف لاعبا اساسيا: Oleg $ Python Management.py dumpdata goServer> lebuged1.json 2) وضع المباراة في الدليل حيث يعيش التطبيق Oleg $ cp lexture1.json goserver/ 3) اكتب اسم الملمس في ملف الاختبارات في طلبي

   class GoserverTestCase(TestCase):
    fixtures = ['fixture1.json']

    def setUp(self):
        pass

    def testUserIsAdded(self):
        print "Users" , User.objects.all()
        #print ActiveList.objects.all()
        self.assertEquals(True, True)

4) قم بتشغيل حالة النص بأمر: Oleg $ Python Management.py -verbosity = 2 GoServer

إخراج تشغيل الاختبار هو (جزء منه):

محاولة "/UOLEG/OOLEG/JIN/GOCLUB/TRUNK/JIN/../JIN/REGISTER/FIXTURES Trunk/Jin /../ Jin/Record/Mistures '. محاولة "/UOLEG/OOLEG/JIN/GOCLUB/TRUNK/JIN/../JIN/REGISTER/FIXTURES Trunk/Jin /../ Jin/Record/Mistures '. التحقق من '/users/oleg/jin/goclub/trunk/jin/../jin/captcha/fixtures' for tiptures ... try '/users/oleg/jin/goclub/trunk/jin/../jin/captcha /تركيبات "لثقب XML" initial_data "... لا يوجد XML تركيبات" initial_data "في"/oleg/oleg/jin/goclub/trunk/jin/../jin/captcha/fixtures ". يحاول "/UOLEG/OOLEG/JIN/GOCLUB/TRUNK/JIN/../jin/captcha/fixtures" لـ JSON FINGUST "initial_data" ... لا يوجد JSON TIPSUTE Trunk/Jin /../ Jin/Captcha/Fiptures '. التحقق من '/Uoleg/jin/goclub/trunk/jin/../jin/goserver/fixtures' for tiptures ... try '/users/oleg/jin/goclub/trunk/jin/../jin/goserver /تركيبات "لثقب XML" initial_data "... لا يوجد XML تركيبات" initial_data "في"/oleg/oleg/jin/goclub/trunk/jin/../jin/goserver/fixtures ". يحاول "/UOLEG/OOLEG/JIN/GOCLUB/TRUNK/JIN/../jin/goserver/fixtures" لـ JSON FINGUST "initial_data" ... لا يوجد JSON TIPSUTE "initial_data" في "/المستخدمين/Oleg/Jin/GoClub/ Trunk/Jin /../ Jin/GoServer/Fiptures '. التحقق من "/" للتركيبات ... المحاولة "/" لثني XML "initial_data" ... لا يوجد XML Fixture "initial_data" في "/". محاولة "/" لثقب json "initial_data" ... لا يوجد JSON FINGUST 'initial_data' في '/'. التحقق من "u" للتركيبات ... محاولة "u" من أجل FINGUSE XML "initial_data" ... لا يوجد XML Fixture "initial_data" في "U". محاولة "u" من أجل json ribust 'initial_data' ... لا يوجد json lebust 'initial_data' في 'u'. التحقق من "s" للتركيبات ... محاولة "s" لثلاثينات XML "initial_data" ... لا يوجد XML Fixture "initial_data" في "S". محاولة 's' من أجل json لاعبا اساسيا 'initial_data' ..

في الواقع المشكلة هي أنه لم يتم العثور على المباراة على الإطلاق ، لذلك لم تتم إضافة أي بيانات أردت إضافتها إلى قاعدة بيانات الاختبار. هل يمكن أن تقترح لي طريقة لحل المشكلة

حاولت طريقة جديدة للقيام بذلك. لقد صنعت للتو تفريغًا من قاعدة البيانات الكاملة ووضعها في مجلد التطبيق.

لكنني جئت عبر بعض مشكلات الترميز.

هل يمكنك التحقق من استجابة الخطأ:

ملف "build/bdist.macosx-10.3-i386/egg/mysqldb/cursors.py" ، السطر 168 ، في التنفيذ إذا لم يكن self._defer_warnings: self._warning_check () ملف "build/bdist.macosx-10.3-i386/egg /mysqldb/cursors.py "، السطر 82 ، في _warning_check warn (w [-1] ، self.warning ، 3) file" /opt/local/lib/python2.5/warnings.py "، السطر 62 ، في تحذير Globals) ملف "/opt/local/lib/python2.5/warnings.py" ، السطر 102 ، في WARN_EXPLICE REAFT تحذير الرسائل: قيمة سلسلة غير صحيحة: ' xd0 x9d xd0 xb0 xd0 ...' للعمود "Object_repr" في الصف 1

testuserisadded (jin.goserver.tests.goservertestcase) ... المستخدمين [

لديك مشكلة أخرى. عندما قمت بتعطيل التركيبات ، ما زلت أحصل على خطأ:

نتائج تغطية رمز اختبار الوحدة

Traceback (أحدث مكالمة أخيرة): ملف "manage.py" ، السطر 11 ، في ملف execute_manager (الإعدادات) "/opt/local/lib/python2.5/site-packages/django-1.0.2_final-py2.5. البيض/django/core/الإدارة/فيه.py "، السطر 340 ، في ملف execute_managerفيه.py "، السطر 295 ، في ملف self.fetch_command (المفتاح الفرعي) .run_from_argv (self.argv)" /opt/local/lib/python2 /django/core/management/base.py "، السطر 192 ، في run_from_argv self.execute (*args ، ** خيارات.قاموس) ملف "/opt/local/lib/python2.5/site-packages/django-1.0.2_final-py2.5 التعامل مع (*args ، ** خيارات) ملف "/opt/local/lib/python2.5/site-packages/django-1.0.2_final-py2.5.egg/django/core/management/commands/test.py" ، السطر 33 ، في فشل المقبض = test_runner (test_labels ، verbosity = verbosity ، التفاعلية = تفاعلية) -coverage/Runner.py "، السطر 58 ، في modules. django-test-coverage/runner.py "، السطر 92 ، في _package_modules modules.append (يستورد(Impstr + '. .register (النشطاء ، activelistadmin) ملف "/opt/local/lib/python2.5/site-packages/django-1.0.2_final-py2.5.egg/django/contrib/admin/sites.py" ، السطر 64 ، في التسجيل ، تم تسجيل RESERGESTERED ("نموذج ٪ S مسجل بالفعل" ٪ ".اسم) django.contrib.admin.sites.AlreadyRegistered: تم تسجيل النشاط النشط بالفعل

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

المحلول

إلى السؤال الأول حول مكان وضع ملف لاعبا اساسيا: قم بإنشاء مجلد في كل تطبيق يسمى التركيبات ، ووضع بيانات التثبيت هناك.

لمشكلتك الثانية فيما يتعلق بأخطاء النزاهة الخاصة بك ، تحقق من مناقشة المشكلات مع أنواع المحتوى والتركيبات:

مشاكل مع أنواع المحتوى عند تحميل تركيبات في Django

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