Собственно, как?
Прочитав документацию по unittest примерно представляю, как оно должно быть, но проблема в том, что реальные программные функции не сферические в вакууме, а требуют входных данных для проверки работы. Вот к примеру, допустим функция работает с файловой системой - парсит заданную директорию, ищет определенные медиа файлы, выполняет манипуляции над ними. Как такое тестировать, держать вместе с тестами эталонные файлы? Натравливать на рабочие директории самой программы? Создавать временные файлы силами тестов? Или вот есть некий функционал, который активно работает с гуем, читает, генерирует и/или заполняет его динамические части. Такое вообще тестируется? Или вот функция принимает сложные входные данные, например экземпляр класса, который описан где-то на другом конце программы. Как в таком случае, полностью копировать описание класса, чтобы заиметь его эталонный экземпляр в тесте?
В общем, пролейте свет на подобные вопросы, своими словами или годной ссылкой. Или пример какого-нибудь очень маленького, но гордо покрытого тестами питоно-проекта был бы кстати.