Метапрограммирование в Python: мечта о генерации юнит-тестов из кода Офлайн 2021

Доклад принят в программу конференции
Юлия Волкова
GridDynamics

Senior Python Developer в GridDynamics. Иногда работает в проектах как backend-девелопер, иногда как Data Engineer. Занимается развитием Python-коммьюнити внутри компании, старается делиться знаниями по мере сил и возможностей. В попытке тратить меньше времени на ответы на одни и те же вопросы, стала писать статьи на https://medium.com/@xnuinside. Ведет в компании 2 учебных курса по Python from Scratch и Apache Airflow. В свободное время пишет пет-проекты, которые иногда находят применение в реальной жизни. Интересуется метапрограммированием и алгоритмизацией повседневных задач.

https://twitter.com/xnuinside
https://github.com/xnuinside
https://medium.com/@xnuinside
Тезисы

После очередного legacy-проекта с нулевым тестовым покрытием, меня стала посещать навязчивая мысль: а что, если можно хотя бы частично автоматизировать процесс, который я выполняю, каждый раз покрывая чужой код минимальными тестами?

Так началось моё увлекательное путешествие в мир метапрограммирования, AST, синтаксического анализа и токенизации. Доклад об основных сложностях, которые нужно решить для успешной генерации юнит-тестов. Мы разберемся, реально ли переложить на машину создание тестов на основе кода без использования дополнительных инструкций или контрактов.

Другие доклады секции Офлайн 2021

Sufficiently Advanced Testing
Zac Hatfield-Dodds
Australian National University