python - django doctests 没有运行

标签 python django testing nose doctest

我在使用 django-nose 运行 django doctests 时遇到问题。添加到/tests 目录的单元测试运行良好,但 doctests 不是。

我正在尝试在我的“季节”模块上运行文档测试:

python manage.py test season

并得到这个输出:

nosetests --verbosity 1 season --with-doctest
Creating test database for alias 'default'...

----------------------------------------------------------------------
Ran 0 tests in 0.001s

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

我只是在尝试一个基本的 doctest 来尝试让它工作,例如:

    """
    >>> 1+1 == 2
    True
    """

这是在我的 models.py 中。我已经尝试过其他实际测试代码的 doctests,但仍然没有看到任何测试运行。当我使用 --verbosity 3 运行时,我看到一行可能是问题所在:

nose.selector: INFO: <models.py path> is executable; skipped

虽然我找不到关于这意味着什么的更多信息。

settings.py 中的相关片段:

INSTALLED_APPS = (
    'south',
    'django_nose',
    'season',
)

# Django-nose configuration
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
NOSE_ARGS = ['--with-doctest']

django_nose 在 INSTALLED_APPS 中的 south 之后,如 django-nose 文档中所指定。我正在按照此处的建议使用 --with-doctest 参数:Nose not running Django doctests ,并按照此处的建议将我的 django-nose 更新为最新版本:Why isn't django-nose running the doctests in my models?

这些是我使用的版本:
Django 1.3
python 2.7.1
django- Nose 0.1.3
Nose 1.1.2

我觉得我在这里缺少一些基本设置。让我知道是否需要任何其他信息。感谢任何帮助,谢谢!

最佳答案

我意识到 OP 指定了 1.3,但是由于这个答案是在搜索“django doctests do not run”时出现的,这里是我对 1.6 的答案,来自 Django doctests in views.py 中的一个答案。 .在此版本的 Django 中,doctests 不会自动包含,因此在 $APP/tests.py 中你需要:

import doctest
def load_tests(loader, tests, ignore):
    tests.addTests(doctest.DocTestSuite())
    return tests

[这只会在 tests.py 本身中找到 doctests;让它在其他模块上运行 doctests,比如 myapp/models.py,你需要 from myapp import modelstests.addTests(doctest.DocTestSuite(models))]

关于python - django doctests 没有运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7778622/

相关文章:

Python协程

java - 用于配置测试的自定义注释

python - 与 Python 单元测试相关的测试发现意味着什么?

python - 在 python 中创建线程

python给我的错误答案是距离我下一个生日还有多长时间

python - 你能用 Python 在 MS Windows 上将标准输入作为文件打开吗?

python - 在 Heroku 中将 Braintree 与 Django 应用程序结合使用

javascript - 如何修复 Bootstrap 不破坏网格?

python - 从 Heroku 上托管的 Django 应用程序发送电子邮件,附件存储在 AWS S3 中

java - 如何通过读取文件并将其写入另一个文件来为我的类(class)编写单元测试?