Можно ли проводить doctests с помощью unit2
Я недавно переключился с носа на новый пакет unittest2 для своих потребностей в модульном тестировании Python. Он делает все, что я хочу, за исключением того факта, что я не могу заставить его команду "обнаружить" распознавать тесты в моем коде - мне все еще приходится использовать нос для их запуска. Это не реализовано или я что-то здесь упускаю?
2 ответа
Unit2 обнаруживает только обычные тесты Python. Боюсь, что для того, чтобы ваши тесты прошли, вам нужно написать минимальный шаблон. Также: будущая архитектура плагинов позволит легко автоматизировать некоторые из этих задач.
В это время. вы можете взглянуть на токсины (описанные здесь создателем unittest2) http://www.voidspace.org.uk/python/weblog/arch_d7_2010_07_10.shtml
Образец, необходимый для того, чтобы сообщить unit2 о ваших doctests, фактически приведен в текущей документации doctest, хотя мне потребовалось несколько минут, чтобы найти ее:
http://docs.python.org/library/doctest.html
Обратите внимание, что вы можете передавать имена модулей в DocTestSuite
конструктор вместо того, чтобы импортировать модуль самостоятельно, что может сократить длину вашего стандартного файла вдвое; это просто должно выглядеть так:
from doctest import DocTestSuite
from unittest import TestSuite
def load_tests(loader, tests, pattern):
suite = TestSuite()
suite.addTests(DocTestSuite('my.module.one'))
suite.addTests(DocTestSuite('my.module.two'))
suite.addTests(DocTestSuite('my.module.three'))
return suite