【问题标题】:Testing in Django 1.7 throws warning: RemovedInDjango18Warning在 Django 1.7 中进行测试会引发警告:RemovedInDjango18Warning
【发布时间】:2014-11-07 13:37:31
【问题描述】:

当我使用 Django 1.7.1 进行测试时,它会引发下一个警告:

/usr/local/lib/python2.7/dist-packages/django/test/_doctest.py:59:
RemovedInDjango18Warning: The django.test._doctest module is deprecated;
use the doctest module from the Python standard library instead.
RemovedInDjango18Warning)

我也尝试在 settings.py 文件中添加这一行:

TEST_RUNNER = 'django.test.runner.DiscoverRunner'

但仍然抛出警告。

我从我的测试模型文件中记下代码:

from django.test import TestCase
from myproject import tests, models


class TestModels(TestCase):

    def test_rol(self):
        rol = tests.create_rol()
        rol.save()

        self.assertTrue(isinstance(rol, models.Rol))
        self.assertEqual(rol.name, rol.__unicode__())

我已阅读 Django 网页中的文档:https://docs.djangoproject.com/en/1.7/topics/testing/overview/,但仍无法找到解决方案。

我正在使用 Django-nose。

我该如何解决这个问题?

谢谢

【问题讨论】:

    标签: python django django-testing django-nose


    【解决方案1】:

    这是django-nose 包中的一个问题(请参阅GitHub issue #149)。它已在 master 中修复,但还没有 PyPI 版本。目前,如果您不想看到警告,可以将您的 requirements.txt 文件指向固定版本:

    -e git://github.com/django-nose/django-nose.git@154b663097e8f3131fe5d1cdd8a8df2e388450ac#egg=django_nose
    

    ...而不是...

    django-nose==1.2
    

    更新:django-nose 1.3 已发布并包含此修复。

    【讨论】:

    • pip install -e git... 是吗?
    • @VíctorM 是的,如果您只是运行一个命令(不向 requirements.txt 添加依赖项),那是正确的。
    • 既然 django-nose 1.3 已经发布,请像 django-nose==1.3 一样使用它
    【解决方案2】:

    看起来这是一个django-nose 问题:请参阅here

    所以,请忽略它。大概它会在您实际使用 Django 1.8 之前修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      • 2012-07-17
      • 2012-09-17
      • 2022-07-15
      • 2014-12-19
      • 1970-01-01
      相关资源
      最近更新 更多