все Python 3doctestфункция
doctest.testfile()
запуск тестов
Проверяет примеры >>> из текстового файла (README, учебный конспект) так же, как testmod() — из докстрингов.
Синтаксис
doctest.testfile(filename, module_relative=True, name=None, globs=None, verbose=None, optionflags=0, encoding=None)
Путь по умолчанию считается от папки вызывающего модуля, а не от текущего каталога (module_relative=True), а абсолютный путь в этом режиме — ValueError. Для пути от текущего каталога передайте module_relative=False. Все примеры файла делят одно пространство имён, так что переменная из начала файла видна в конце.
Примеры
import doctest
with open("guide.txt", "w", encoding="utf-8") as f:
f.write("Сначала переменная:\n\n>>> x = 6\n\nПотом она же:\n\n>>> x * 7\n42\n")
print(doctest.testfile("guide.txt", module_relative=False, encoding="utf-8")) # → TestResults(failed=0, attempted=2)
import doctest, os
open("t.txt", "w").write(">>> 1 + 1\n2\n")
try:
doctest.testfile(os.path.abspath("t.txt"))
except ValueError as e:
print(e) # → Module-relative files may not have absolute paths
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности