django 需要先设置 TEST_RUNNER 到 运行 doctest 吗?

Does django need to set TEST_RUNNER first to run doctest?

我开始了一个非常简单的 django 项目来尝试 django 的 doctest:

# models.py
"""
>>> 1+1 == 2
True
"""

和运行 python manage.py test得到:

Creating test database for alias 'default'...

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
Destroying test database for alias 'default'...

与运行宁python manage.py play相同。

我通过设置解决了这个问题:

INSTALLED_APPS = (
...
'django_nose',
)
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
NOSE_ARGS = ['--with-doctest']

我的问题是我的设置是否需要?因为文档中没有提到它:https://docs.djangoproject.com/en/1.4/topics/testing/

我的django版本是1.7,请问是1.4和1.7的区别吗?

从 1.6 开始,Django 不再自动发现 doctests。您将在 1.6 release documentation.

中找到有关如何集成 doctests 的更多信息