Я использую doctest [1] почти везде, потому что мне нравится тот факт, что я документирую и тестирую свои функции одновременно.
Посмотрите на этот код:
def throw_up(something, gowrong=False):
"""
>>> throw_up('Fish n Chips')
Traceback (most recent call last):
...
Exception: Fish n Chips
>>> throw_up('Fish n Chips', gowrong=True)
'I feel fine!'
"""
if gowrong:
return "I feel fine!"
raise Exception(something)
if __name__ == '__main__':
import doctest
doctest.testmod()
Если вы помещаете этот пример в модуль и запускаете его из командной строки, оба тестовых примера оцениваются и проверяются.
[1] Документация на Python: 23.2 doctest - Тестирование интерактивных примеров Python