2

所以我按照这里网站上的说明进行操作:

https://docs.djangoproject.com/en/1.5/topics/testing/overview/

但让我感到困惑的是描述运行时测试范围的部分。它说:

默认情况下,这将在 INSTALLED_APPS 中的每个应用程序中运行每个测试。如果您只想为特定应用程序运行测试,请将应用程序名称添加到命令行。

例如,如果您的 INSTALLED_APPS 包含“myproject.polls”和“myproject.animals”,则可以使用以下命令单独运行 myproject.animals 单元测试:

让我感到困惑的是,该网站的目录结构是这样布置的

myproject/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        views.py
        models.py
        wsgi.py

所以我真的没有任何更小的应用程序。我基本上只有 1 个大型应用程序,即网站。我的 INSTALLED_APPS 变量中有许多应用程序,但我只想在 mysite 上运行测试。我该怎么做呢?

或者,我是否必须:

将整个站点移动到它自己的应用程序中,布置这样的目录结构并将该应用程序添加到 INSTALLED_APPS

myproject/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

    mysiteapp/
        views.py
        models.py

另外,一般来说,这对我的 django 项目来说是一个更好的结构吗?

4

1 回答 1

1

Django 测试套件基本上会按原样测试您的一个大站点,我相信这就是您想要的。

其他人将他们的 Django 站点构建为较小的应用程序的集合。就像一个用于身份验证的子应用程序,或者一个用于具有不同要求的特定功能的子应用程序,或者只是将一堆组件连接在一起,以便您可以重用过去项目的一部分。

在这些情况下,有人可能只想测试其中一个组件,而不是整个事情。例如,如果您有一个工作站点,并且您从过去的项目中添加了一个应用程序并且一切都中断了,那么您可能希望将测试集中在该应用程序上。这就是警告的内容。这意味着如果您只想测试子应用程序,那么您应该指定它。

对于您的情况,测试一切都有效,因为您只使用一个应用程序。

高温高压

于 2013-11-14T23:55:10.623 回答