vak: (Default)
Serge Vakulenko ([personal profile] vak) wrote2020-07-25 12:42 pm

Скелет для Питона

Если вы собираетесь начать разрабатывать программу на языке Питон - вот заготовка, с которой можно стартовать: https://github.com/sergev/Pytest-Actions-Demo

Клонируете проект к себе и наполняете содержанием. В заготовке задействованы автоматическая проверка кода утилитой flake8 и тестирование посредством pytest. Автоматизация выполнена через сервис Github Actions. Скрипт .github/workflows/pytest.yml содержит задание для Actions запускать flake8 и pytest каждый раз, когда приходит очередное изменение. Причём тестируются заданные версии Питона, а именно 2.7 и 3.8.

Конечно, всегда лучше запускать flake8 и pytest локально, перед отправкой изменений в Github. Но удобно, что результаты тестирования копятся на сервере и всегда доступны для просмотра (здесь).

Профессиональная разработка софта отличается от любительских поделок как раз этим: организацией процесса с целью отслеживания качества кода. Автоматическое тестирование - первая, минимальная фаза. Про Pytest я напишу позже, это отдельная тема.



Есть аналогичная заготовка для Питона с автоматизацией, но для Битбакета: https://vak.dreamwidth.org/658470.html
juan_gandhi: (Default)

[personal profile] juan_gandhi 2020-07-25 10:47 pm (UTC)(link)
О какой прогресс пошел! Ура, ура, ура.
aka_human: (Default)

[personal profile] aka_human 2020-07-26 03:31 am (UTC)(link)
Полезно, спасибо.
x86128: (Default)

[personal profile] x86128 2020-07-26 05:00 am (UTC)(link)
Слышал что GitHub дает возможность перехватывать commit и прогонять тесты и только потом применять его на master ветку.