Я могу поместить тесты Python в тела каждой функции, что мне иногда нравится для небольших библиотек, потому что они находятся в том же файле, что и функция.
Или я могу собрать их все вместе в отдельную библиотеку.запустите файл и выполните отдельный файл, что хорошо, если я не хочу, чтобы doctest находился между функциями.Иногда я нахожу, что с кодом легче работать, если строки документов маленькие.
Есть ли способ сохранить тесты Python в одном файле, но собрать их все вместе в конце файла?
РЕДАКТИРОВАТЬ: решение, основанное на принятом ответе ниже:
def hello_world():
return u'Hello World'
def hello(name):
return u'Hello %s' % name
def doctest_container():
"""
>>> hello_world()
u'Hello World'
>>> hello(u'Guido')
u'Hello Guido'
"""
pass
if __name__ == "__main__":
import doctest
doctest.testmod()
На самом деле это просто, фиктивная функция создается как последняя функция, которая содержит все тесты водна строка документов.