Создал модуль
doc-tests_launcher.py в родительской директории проекта. Он импортирует тест-кейсы с документацией к функциям, в которых расписаны локальные Python-сессии.
Я предполагал, что команда doctest.testmod() будет также тестировать и импортированные функции.
Но на выходе получаю:
> python doc-tests_launcher.py -v
Trying:
1
Expecting:
1
ok
1 items had no tests:
__main__
1 items passed all tests:
1 tests in __main__.test_this
1 tests in 2 items.
1 passed and 0 failed.
Test passed.
Т.е. подскажите, пожалуйста как заставить doctest тестировать импортированные функции c предварительно написанными в документации к ним тестах.
doc-tests_launcher.py:
if __name__ == '__main__':
try:
# Импортирование тест-кейсов.
from tests.doc_string_test_ import *
import doctest
print(dir()) # ['Room', '__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'doctest', 'test_please]
except Exception as e:
print(e)
def test_this():
"""
>>> 1
1
"""
doctest.testmod()
tests/doc_string_test_.py:
# Запуск тестов через лаунчер
if __name__ == 'tests.doc_string_test_':
try:
from modules.game import Room
import doctest
except Exception as e:
print(e)
def test_please():
"""
>>> 2
2
"""