Как вы управляете doctests (то есть без носа)? Если вы попали в каталог с пакетом при попытке их запуска, у вас возникнут проблемы (если вы выполняете полный импорт).
Мне удалось получить простой doctest (с полностью квалифицированным импортом), работающий с обоими тестами носа и встроенным бегуном doctest. Вот мои настройки:
Структура проекта:
.
└── mypackage
├── __init__.py
└── mod.py
Вот содержимое моего файла 'mod.py':
"""foo() providing module
Example:
>>> import mypackage.mod
>>> mypackage.mod.foo()
'bar'
"""
def foo():
return "bar"
от '.' каталог (корень проекта), теперь я могу запускать тесты:
$ python -m doctest -v mypackage/*.py
1 items had no tests:
__init__
0 tests in 1 items.
0 passed and 0 failed.
Test passed.
Trying:
import mypackage.mod
Expecting nothing
ok
Trying:
mypackage.mod.foo()
Expecting:
'bar'
ok
1 items had no tests:
mod.foo
1 items passed all tests:
2 tests in mod
2 tests in 2 items.
2 passed and 0 failed.
Test passed.
А теперь тесты носа:
$ nosetests --with-doctest
.
----------------------------------------------------------------------
Ran 1 test in 0.008s
OK
Если я пытаюсь запустить doctest из каталога «mypackage», я получаю сообщение об ошибке (я подозреваю, что происходит в вашем случае).
Наконец, я не думаю, что это должно иметь значение, но я использую Python 2.7.2