Можно ли проводить 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
Другие вопросы по тегам