When I try to run python manage.py test
in my Django (1.4) project, I get the error:
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
This is documented in a Django bug, with a recomendation to only test specific apps instead of all. However my project has no apps, the models.py
simply resides in the project root. To test a specific app in Django, it looks like this:
$ ./manage.py test animals
Note that we used animals, not myproject.animals.
meaning that it is not possible to specify the root directory to test. How would I test just my project directory?
Note that this bug is part of a larger discussion on unit testing discovery.