سؤال

عند تشغيل nosetests ، لا يوفر Django-Nose Runner --with-django خيار ل nosetests, ، لذلك تفشل اختبارات أنفي + twill عند محاولة الوصول إلى عناوين URL:

./manage.py test
...
raise BrowserStateError("cannot go to '%s'" % (url,))
BrowserStateError: cannot go to 'http://127.0.0.1:8088/admin/'
----------------------------------------------------------------------
Ran 2 tests in 0.166s

FAILED (errors=1)

عندما أقدم --with-django يدوي أو تعيين NOSE_WITH_DJANGO=1 متغير Enviromental ، يتم تشغيل الاختبارات الخاصة بي بنجاح ، ولكن بعد ذلك أتلقى استثناء التالي:

$ ./manage.py test --with-django
...
Ran 2 tests in 0.199s

OK
...
AttributeError: type object 'Template' has no attribute 'original_render'

nosetests --with-django يدير الاختبارات بنجاح

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

المحلول

تبين أن المشكلة هي أنني استخدمت tddspry مع django-nose وكلاهما يحتوي على مكون إضافي خاص بإعداد/teardown ، لذلك قمت بتصنيف Django nose testrunner وإزالته من هذا البرنامج المساعد من الإعدادات الافتراضية.

لحل هذه المشكلة ، قم بتثبيت أحدث tddspry من المسؤول مستودع GIT, ، آخر مستقر django-nose من Pypi وإضافة tddspry testsuiterunner إلى إعدادات Django على النحو التالي:

TEST_RUNNER = 'tddspry.django.runner.TestSuiteRunner'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top