django не проходит тестирование - PullRequest
4 голосов
/ 15 октября 2011

У меня проблема с запуском django doctests с django-nose. Модульные тесты, добавленные в каталог / tests, работают нормально, а doctests - нет.

Я пытаюсь запустить 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, чтобы заставить это работать, например ::10000

    """
    >>> 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 следует за югом в INSTALLED_APPS, как указано в документации по django-nose. Я использую аргумент --with-doctest, как предложено здесь: Нос не запускает Django doctests , и обновил мой нос django до последней версии, предложенной здесь: Почему не django- нос протекает в моих моделях?

Вот версии, которые я использую:
Джанго 1,3
питон 2.7.1
Джанго-нос 0.1.3
нос 1.1.2

Я чувствую, что мне здесь не хватает какой-то базовой настройки. Дайте мне знать, если нужна какая-либо другая информация. Любая помощь приветствуется, спасибо!

Ответы [ 3 ]

2 голосов
/ 13 марта 2013

В подробном сообщении говорится, что ваш файл models.py игнорируется, потому что он исполняемый. Это означает, что вам нужно сделать:

chmod -x models.py

Если у вас нет конкретной причины для того, чтобы этот файл был установлен как исполняемый, в этом случае добавление --exe к вашему NOSE_ARGS должно быть достаточным.

2 голосов
/ 12 апреля 2014

Я понимаю, что ОП указала 1.3, но так как этот ответ появляется в поиске 'django doctests not run', вот мой ответ на 1.6 из одного из ответов в Django doctests в views.py .в этой версии Django документы для тестирования не автоматически включаются, поэтому в $ APP / tests.py вам нужно:

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

[это находит только тесты в самой tests.py;чтобы он запускал doctests на других модулях, скажем myapp / models.py, вам нужно from myapp import models и tests.addTests(doctest.DocTestSuite(models))]

1 голос
/ 17 октября 2011

nosetests --verbosity 1 season --with-doctest

Usage: manage.py test [options] [appname ...]

Возможно, вам просто нужно переместиться на season, чтобы закончить.

...