Khi tôi cố gắng chạy python manage.py test
trong (1.4) dự án Django của tôi, tôi nhận được lỗi:Testing chỉ dự án trong 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
Đây là documented trong một lỗi Django, với một recomendation các ứng dụng chỉ thử nghiệm cụ thể thay vì tất cả. Tuy nhiên dự án của tôi không có ứng dụng nào, models.py
chỉ đơn giản nằm trong thư mục gốc của dự án. Để kiểm tra một cụ ứng dụng trong Django, nó trông giống như this:
$ ./manage.py test animals
Note that we used animals, not myproject.animals.
nghĩa là nó không thể chỉ định thư mục gốc để kiểm tra. Làm cách nào để kiểm tra thư mục dự án của tôi?
Lưu ý rằng lỗi này là một phần của larger discussion on unit testing discovery.
Bắt đầu từ Django 1.6, có một [thử nghiệm khám phá mới Á hậu] (https://docs.djangoproject.com/en/dev/releases/1.6/#discovery-of-tests-in-any-test-module) làm chính xác những gì django-khám phá-runner làm cho 1.5 và dưới đây. – alfetopito