Kiedy próbuję uruchomić python manage.py test
w moim (1.4) Django, pojawia się błąd:Testowanie projektu tylko w Django
ERROR: test_site_profile_not_available (django.contrib.auth.tests.models.ProfileTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/slacy/src/tmp/env/local/lib/python2.7/site-packages/django/contrib/auth/tests/models.py", line 29, in test_site_profile_not_available
del settings.AUTH_PROFILE_MODULE
File "/home/slacy/src/tmp/env/local/lib/python2.7/site-packages/django/utils/functional.py", line 215, in __delattr__
delattr(self._wrapped, name)
AttributeError: AUTH_PROFILE_MODULE
To jest documented w błąd Django, z rekomendacji do konkretnych aplikacji tylko testowych zamiast wszystkich. Jednak mój projekt nie ma aplikacji, models.py
po prostu rezyduje w katalogu głównym projektu. Aby przetestować konkretne aplikację w Django, wygląda this:
$ ./manage.py test animals
Note that we used animals, not myproject.animals.
co oznacza, że nie jest możliwe określenie katalogu głównego do przetestowania. Jak przetestować tylko mój katalog projektu? Ten problem jest częścią larger discussion on unit testing discovery.
Zaczynając od Django 1.6, istnieje [nowy test odkrył biegacza] (https://docs.djangoproject.com/en/dev/releases/1.6/#discovery-of-tests-in-any-test-module), który robi dokładnie to, co robi django-discover-runner dla wersji 1.5 i starszych. – alfetopito