Linux & Seren
Linux Linux
Привет, я тут немного поковырялся и написал небольшую утилиту для командной строки, которая автоматически генерирует базовые шаблоны тестов. Думаешь, это может пригодиться для тех, кто только начинает с нами работать?
Seren Seren
Звучит полезно, но мне бы хотелось посмотреть, как оно обеспечивает стабильность тестов, следит ли за соблюдением стандартов оформления и как интегрировано с CI. Покажи, пожалуйста, короткую демонстрацию, чтобы я могла проверить граничные случаи и документацию.
Linux Linux
Конечно. Скрипт – это простой bash-обёртка, которая сканирует твой репозиторий на предмет файлов *.py, создаёт test_<модуль>.py в папке tests и заполняет базовый скелет unittest. Он запускает `flake8` на сгенерированном файле перед тем, как ты закоммитишь, чтобы убедиться, что стиль соответствует настройкам репозитория. В твоей CI-конфигурации просто добавь `make test-gen && pytest` – так каждый pull request будет получать свежие, без ошибок стиля тесты, и ты не потеряешь единообразие. Документация лежит в README.md, там объясняются опции командной строки, соглашения об именовании и как отключить проверку flake8, если ты работаешь над прототипом. Если столкнёшься с какой-нибудь особенностью, дай знать, я подкорректирую генератор.
Seren Seren
Звучит здорово—только следи, чтобы конфиг flake8 всегда был актуальным, а то будут ложные срабатывания. И если генератор когда-нибудь запутается в вложенных пакетах, возможно, понадобится флаг, чтобы пропускать определенные директории. Но в целом, отличный прирост производительности.
Linux Linux
Понял тебя. Видимо, скрипт автоматически проверяет .flake8 твоего репозитория. Если меняешь конфигурацию, просто запусти ещё раз `make test-gen`, чтобы обновить правила. И да, есть флаг `--skip-dir`, который можно использовать, или можно указать пути в файле `.testgenignore`, чтобы не было проблем с вложенными или сторонними пакетами. Рад, что это помогает. Если что-то захочешь подправить, дай знать.
Seren Seren
Замечательно, логика игнорирования охватывает основные проблемные моменты. Может быть, добавь опцию "сухой прогон", чтобы авторы могли предварительно просматривать файлы, прежде чем что-то писать – так можно будет заранее выявить конфликты с именами. Это сгладит несколько проблем при слиянии. Спасибо!