Python Glossary English

все 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Сообщить о неточности