Django 1.7 - 如何抑制"(1_6.W001) Some project unittests may not execute as expected."?



我有一个Django应用程序,它包含了最初用Django 1.2编写的部分,并且该应用程序一直升级到1.7。升级到1.7后,我从python manage.py check:收到以下警告

System check identified some issues:
WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
    HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.

错误消息中提到的URL确实详细说明了所做的更改,但它没有给出任何提示,说明为什么会触发此警告或如何抑制它。尽管警告消息引用了Django 1.6,但它是在升级到Django 1.7 后才开始出现的

我检查过Django 1.7下运行的单元测试数量与Django 1.6.1下运行的相同。

对于那些感兴趣的人来说,有问题的应用程序是一个名为Kompasi的事件管理系统,可以在Github上找到。

发现一篇博客文章,揭示了明确指定

TEST_RUNNER = 'django.test.runner.DiscoverRunner'

在CCD_ 2中将停止该警告的发生。

请参阅https://github.com/django/django/blob/1.7/django/core/checks/compatibility/django_1_6_0.py#L42对于它检查的给出此错误的列表。

看起来开发人员已经决定删除此警告:

https://code.djangoproject.com/ticket/23469

您可以使用SILENCED_system_CHECKS设置使单个系统检查警告静音。

关于您的另一个问题,即如何找到触发此警告的原因,我唯一能找到的地方是查看源代码。

如果测试一切正常,只需执行以下步骤之一(或全部)即可关闭警告:

  1. 如果您不再使用站点框架,请从您的设置中删除SITE_ID

  2. BASE_DIR变量添加到您的设置中。

  3. 如果您不使用MANAGERS列表,请将其从您的设置中删除。

  4. 删除设置中的XFrameOptionsMiddleware中间件。(Django 1.6+中默认启用)

  5. 如果您不需要自定义TEMPLATE_LOADERSADMINS,请删除它们(您通常会这样做,所以除非您知道自己在做什么,否则不要这样做)。

这是当前启发式(Django 1.7.3)检查的两件事,以检测您的项目是否由Django<1.6.

相关内容

  • 没有找到相关文章

最新更新