我在运行django doctest和django-nose时遇到了问题。添加到/tests目录的单元测试运行良好,但文档测试运行不正常。
我正在尝试对我的"season“模块运行doctest:
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中。我已经尝试了其他文档测试,实际测试代码,但仍然没有看到任何测试运行。当我运行--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文档中指定的那样,django_nose在INSTALLED_APPS中位于south之后。我使用了这里建议的--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
我觉得我这里缺少一些基本的设置。如果需要任何其他信息,请让我知道。感谢您的帮助,谢谢!
发布于 2014-04-12 07:45:11
我知道OP指定的是1.3,但由于这个答案是在搜索“django doctest do not run”时出现的,所以这是我在Django doctests in views.py中的一个答案中对1.6的答案。在此版本的Django中,doctest不会自动包含在内,因此在$APP/tests.py中,您需要:
import doctest
def load_tests(loader, tests, ignore):
tests.addTests(doctest.DocTestSuite())
return tests这只会在tests.py本身中找到文档测试;要让它在其他模块上运行文档测试,比如myapp/models.py,您需要from myapp import models和tests.addTests(doctest.DocTestSuite(models))
发布于 2013-03-13 08:12:42
详细信息告诉您models.py文件被忽略,因为它是可执行的。这意味着您需要执行以下操作:
chmod -x models.py除非您有特定的原因将该文件设置为可执行文件,在这种情况下,在NOSE_ARGS中添加--exe就足够了。
发布于 2011-10-17 04:53:10
nosetests --verbosity 1 season --with-doctest
Usage: manage.py test [options] [appname ...]
也许你只需要把season移到end。
https://stackoverflow.com/questions/7778622
复制相似问题