У меня есть проект django, который состоит из нескольких проектов, а также django.contrib.auth
.Когда я запускаю python manage.py test
и запускаю модульные тесты auth
, django пытается оценить все мои контекстные процессоры, в том числе относящиеся к другим приложениям.
Один из моих контекстных процессоров для другого приложения используетreverse
для поиска URL-адреса для ссылки, которая не работает в модульных тестах auth
, что приводит к сбою этих тестов.Как я могу решить эту проблему, чтобы мои контекстные процессоры не мешали выполнению модульных тестов для несвязанных приложений?
Спасибо.
Пример теста теста (мое другое приложение называется «монитор», и вmonitor / context_processors.py, пытается получить URL-адрес для monitor.views.dashboard)
======================================================================
ERROR: test_unknown_user (django.contrib.auth.tests.remote_user.RemoteUserTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/django/contrib/auth/tests/remote_user.py", line 50, in test_unknown_user
response = self.client.get('/remote_user/', REMOTE_USER='newuser')
File "/usr/lib/python2.7/site-packages/django/test/client.py", line 445, in get
response = super(Client, self).get(path, data=data, **extra)
File "/usr/lib/python2.7/site-packages/django/test/client.py", line 229, in get
return self.request(**r)
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/site-packages/django/views/decorators/cache.py", line 79, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/django/contrib/auth/tests/urls.py", line 13, in remote_user_auth_view
c = RequestContext(request, {})
File "/usr/lib/python2.7/site-packages/django/template/context.py", line 177, in __init__
self.update(processor(request))
File "/home/me/hydra/hydra-server/monitor/context_processors.py", line 13, in menu_items
items.append({"url": reverse('monitor.views.dashboard'), "caption": "Dashboard"})
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py", line 391, in reverse
*args, **kwargs)))
File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py", line 337, in reverse
"arguments '%s' not found." % (lookup_view_s, args, kwargs))
NoReverseMatch: Reverse for 'monitor.views.dashboard' with arguments '()' and keyword arguments '{}' not found.