Запустите плагин doctest с nose.main
Я хотел бы запустить встроенный нос Doctest
плагин из Python, особенно без параметров командной строки или переменных среды.
Можно ожидать, что сработает следующее:
import nose, os
from nose.plugins.builtin import Doctest
# or from nose.plugins.doctests import Doctest
plugins = [Doctest(),]
nose.main(addplugins=plugins)
# or nose.main(plugins=plugins)
Однако вышеприведенное, похоже, не загружает плагин Doctest, как ожидалось.
Мысли и вклад будут оценены.
2 ответа
Решение
Вот что я сделал:
import nose
argv = sys.argv[:]
argv.insert(1, "--with-doctest")
nose.main(argv=argv)
Это не так чисто, как хотелось бы, но это работает.
Основываясь на решении Брайана, можно также, чтобы запустить все из интерактивного сеанса, сделать следующее:
import nose
nose.run(argv=['', '--with-doctest']) # first empty item is ignored by nose.run
Но ваше решение лучше для сценария, который запускается непосредственно из командной строки, возможно, с дополнительными параметрами.