django-nose testrunner не использует-с джанго вариант
-
30-09-2019 - |
Вопрос
При запуске Nosetests, Django-Nose Runner не поставляет --with-django
вариант на nosetests
, поэтому мои тесты на нос + твил терпят неудачу при попытке получить доступ к 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
Переменная среда, мои тесты успешно работают, но затем я получаю следующее исключение:
$ ./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
И у них обоих есть свой собственный аналогичный плагин для настройки/слеза, поэтому я подкладывал Django-Nose Testrunner и удалил этот плагин из дефолтов.
Чтобы решить эту проблему, установите последние tddspry
от официального GIT Repository, Последняя конюшня django-nose
от PYPI и добавьте tddspry testsuiterunner в настройки Django следующим образом:
TEST_RUNNER = 'tddspry.django.runner.TestSuiteRunner'