все Python 3doctestфункция
doctest.DocFileSuite()
интеграция с unittest
Собирает доктесты из текстовых файлов в unittest.TestSuite — по одному тест-кейсу на файл.
Синтаксис
doctest.DocFileSuite(*paths, module_relative=True, package=None, setUp=None, tearDown=None, globs=None, optionflags=0, encoding=None)
Пути, как и у testfile(), по умолчанию считаются от папки вызывающего модуля; для путей от текущего каталога нужен module_relative=False. Один файл — один тест: провал любого примера валит весь файл. setUp и tearDown получают объект DocTest — через test.globs можно подложить переменные.
Примеры
import doctest, io, unittest
with open("a.txt", "w", encoding="utf-8") as f:
f.write(">>> base + 1\n11\n")
def set_up(test):
test.globs["base"] = 10
suite = doctest.DocFileSuite("a.txt", module_relative=False, setUp=set_up, encoding="utf-8")
result = unittest.TextTestRunner(stream=io.StringIO()).run(suite)
print(result.testsRun, result.wasSuccessful()) # → 1 True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности