В тесте достаточно явно передать зависимость. Например, если мы тестируем функцию execute_query из примера, можно передать ей аргумент db_connect_string напрямую:
execute_query(
'select * from ...',
db_connect_string='postgresql://user:pass@localhost'
)
Для изучения могу посоветовать платформу stepik.org, на ней есть множество бесплатных курсов по python разных уровней сложности. Из литературы можно начать с классики - Изучаем Python. | Лутц Марк
В данное реализации - да, но это не сложно доработать. Для демонстрации постарался написать как можно компактнее, чтобы передавался основной смысл.
В тесте достаточно явно передать зависимость. Например, если мы тестируем функцию
execute_query
из примера, можно передать ей аргументdb_connect_string
напрямую:Для изучения могу посоветовать платформу stepik.org, на ней есть множество бесплатных курсов по python разных уровней сложности. Из литературы можно начать с классики - Изучаем Python. | Лутц Марк
Спасибо за замечание, уровень сложности поменяли. Для лучшего понимания могу посоветовать ознакомится с PEP 484 раздел Generics.