我在測試django應用程序分組在子文件夾中有問題。如何測試放置在子文件夾中的django應用程序?
那麼,讓我解釋一下情況。
斯坦達特Django項目結構如下:
django_project/
--appname1
--appname2
--appname3
--lib
--tests
--docs
settings.py
etc...
當項目結構是非標準你可以通過在項目目錄鍵入命令運行APPNAME1測試:
python2 manage.py test appname1`
我們決定把所有我們的項目結構如下所示:
django_project/
--apps/
----appname1
----appname2
----appname3
--lib
--tests
--docs
settings.py
etc...
所有工作正常,但我們無法運行應用程序的測試。 我曾嘗試如下因素的命令沒有成功:
python2 manage.py test appname1
python2 manage.py test apps/appname1
python2 manage.py test apps.appname1
有沒有辦法使用manage.py對於放置在子文件夾,或者我們應該運行它們寫自己的命令的應用程序運行測試?
UPD:
我們有以下錯誤:
Traceback (most recent call last):
File "manage.py", line 18, in <module>
management.execute_manager(settings)
File "/opt/python266/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/opt/python266/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/opt/python266/lib/python2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/opt/python266/lib/python2.6/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/opt/python266/lib/python2.6/site-packages/django/core/management/commands/test.py", line 37, in handle
failures = test_runner.run_tests(test_labels)
File "/opt/python266/lib/python2.6/site-packages/django/test/simple.py", line 312, in run_tests
suite = self.build_suite(test_labels, extra_tests)
File "/opt/python266/lib/python2.6/site-packages/django/test/simple.py", line 244, in build_suite
app = get_app(label)
File "/opt/python266/lib/python2.6/site-packages/django/db/models/loading.py", line 140, in get_app
raise ImproperlyConfigured("App with label %s could not be found" % app_label)
django.core.exceptions.ImproperlyConfigured: App with label appname1 could not be found
我們已經安裝的應用程序設置,如:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'project_name.apps.appname1',
'project_name.apps.appname2',
'project_name.apps.appname3',
)
我們使用django1.3 ... –