所以我按照此处网站上的说明进行操作:
https://docs.djangoproject.com/en/1.5/topics/testing/overview/
但让我感到困惑的是描述运行时测试范围的部分。它说:
By default, this will run every test in every application in INSTALLED_APPS. If you only want to run tests for a particular application, add the application name to the command line.
For example, if your INSTALLED_APPS contains 'myproject.polls' and 'myproject.animals', you can run the myproject.animals unit tests alone with this command:
让我困惑的是网站的目录结构是这样布局的
myproject/
manage.py
mysite/
__init__.py
settings.py
urls.py
views.py
models.py
wsgi.py
所以我真的没有任何较小的应用程序。我基本上只有 1 个大型应用程序,即网站。我的 INSTALLED_APPS 变量中有许多应用程序,但我只想在我的网站上运行测试。我该怎么做呢?
或者,我是否必须:
将整个站点移动到它自己的应用程序中,布置这样的目录结构并将该应用程序添加到 INSTALLED_APPS
myproject/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
mysiteapp/
views.py
models.py
此外,一般来说,这对我的 Django 项目来说是更好的结构吗?
请您参考如下方法:
Django 测试套件基本上会按原样测试您的一个大站点,我相信这就是您想要的。
其他人将他们的 Django 站点构建为较小应用程序的集合。就像用于身份验证的子应用程序,或者用于具有不同要求的特定功能的子应用程序,或者只是将一堆组件连接在一起,以便您可以重用过去项目的一部分。
在这些情况下,某人可能只想测试其中一个组件,而不是整个组件。例如,如果您有一个工作站点,并且添加了一个来自过去项目的应用程序,但一切都崩溃了,您可能希望将测试重点放在该应用程序上。这就是警告的内容。这意味着如果您只想测试一个子应用程序,那么您应该指定它。
对于您的情况,测试一切正常,因为您只使用一个应用。
HTH
