Настраиваем CI/CD в GitHub для Python-проекта с нуля

Настройка CI/CD часто кажется новичкам чем-то сложным и доступным только DevOps-инженерам. На самом деле автоматизировать рутину Python-проекта можно всего за полчаса. В этой статье мы по шагам разберем, как с нуля настроить GitHub Actions для простого FastAPI-приложения: от автоматического запуска тестов и быстрого линтера Ruff до сборки Docker-образа и публикации его в Docker Hub.

https://habr.com/ru/articles/1037002/

#python #github_actions #docker #pytest #автоматизация #fastapi #туториал

Настраиваем CI/CD в GitHub для Python-проекта с нуля

1. Введение CI/CD — это автоматизация процессов, которые разработчики обычно делают руками после написания кода. Если без лишней теории, то: CI (Continuous Integration / Непрерывная интеграция)...

Хабр

Как тестировать внешние API в Python: от DI-мока до настоящего HTTP-сервера

Почти каждый сервис, который мы сегодня пишем, ходит куда-то наружу — платёжный шлюз, биллинг, чужой публичный API. И каждый раз, когда садимся писать тесты на этот код, упираемся в один и тот же вопрос: как протестировать клиента, не привлекая внимания санитаров выходя в реальный мир? Эта статья про то, как выбирать инструмент под эту задачу. Не абстрактно — на одном маленьком, но гордом настоящем сервисе catfact-demo-service , в tests/ которого рядом лежат пять способов протестировать одну и ту же интеграцию. К концу мы их сравним и аргументированно выберем тот, который оставили бы в production-проекте.

https://habr.com/ru/articles/1034864/

#python #pytest #тестирование #aiohttp #mock #интеграционные_тесты #http #dishka #fastapi #asyncly

Как тестировать внешние API в Python: от DI-мока до настоящего HTTP-сервера

Почти каждый сервис, который мы сегодня пишем, ходит куда-то наружу — платёжный шлюз, биллинг, чужой публичный API. И каждый раз, когда садимся писать тесты на этот код, упираемся в один и тот же...

Хабр

Основы тестирования и правила, которые помогают надёжно тестировать сложные приложения: примеры на Python

За годы работы разработчиком я сталкивался с разными подходами к тестированию. В этой статье я хочу показать, какие практики кажутся мне неэффективными, и объяснить, как довольно просто писать надёжные тесты, которые дают и хорошее покрытие, и устойчивость. Статья может быть полезна не только Python-разработчикам, но и инженерам-программистам в целом.

https://habr.com/ru/articles/1035978/

#python #pytest #sql #testing #test_driven_development

Основы тестирования и правила, которые помогают надёжно тестировать сложные приложения: примеры на Python

Введение Я работаю backend Python-инженером уже несколько лет. За это время я многому научился: писать чистый код, применять алгоритмы в реальных задачах, работать как с...

Хабр
#today I am making a little progress on debugging my #buildingModel which includes learning how to do #pytest properly... #debugging #modelling

Uso #ExtremeProgramming da quando facevo #debugging all'università, oltre 20 anni fa.

Una cosa non cambia: scrivere codice è facile, definirne tutto il comportamento no.

🎤 A #PyConIT 2026 porterò un #workshop su #Python 🐍 e #TDD:
dalle variabili al primo test, per chiarire cosa il software debba fare prima di implementarlo.

https://2026.pycon.it/it/event/primi-passi-in-python-con-il-tdd-dalle-variabili-al-primo-test

#TalksAndWorkshops #python #pytest #BestPractices

[Перевод] postman2pytest: как превратить Postman-коллекцию в pytest-набор за одну команду

Вот есть Postman-коллекция из 40 запросов. Разложена по папкам, и с тестовыми скриптами, которые проверяют статус-коды. Вы потратили на неё время, она хороша. И ещё у вас есть CI-пайплайн, который про Postman никогда не слышал и слышать не собирается. Эти две вещи мирно сосуществовали месяцами, потому что никто не хочет быть тем человеком, который вручную переписывает 40 запросов в pytest-функции. Newman, конечно, есть, но Newman гоняет тесты, а не генерирует код, который можно прочитать, отредактировать и нормально положить в систему контроля версий. Получается, коллекция документирует API. CI тестирует API. Они описывают одну и ту же систему и при этом никогда не встречались. Я написал postman2pytest , чтобы их познакомить.

https://habr.com/ru/articles/1033658/

#postman #pytest #automation #apitesting #qa #конвертер

postman2pytest: как превратить Postman-коллекцию в pytest-набор за одну команду

Вот есть Postman-коллекция из 40 запросов. Разложена по папкам, и с тестовыми скриптами, которые проверяют статус-коды. Вы потратили на неё время, она хороша. И ещё у вас есть CI-пайплайн, который про...

Хабр
Known limitations — pytest-xdist documentation

Refactorizando y comprobando que todo sigue ok.
#python #coding #programming #pytest #github #NeoVault

Почему Python стал главным помощником Java‑команд

Python уже не просто язык для скриптов и Data Science — в 2026 году он стал «клеем», который связывает микросервисы, тесты и CI/CD в Java‑проектах. Как получилось, что даже консервативные Java‑разработчики всё чаще пишут интеграционные тесты на pytest, запускают контейнеры с Testcontainers и рулят пайплайнами в GitHub Actions с помощью Python‑скриптов? В этой статье разбираем три реальные причины популярности Python. Если вы до сих пор считаете, что Python не для вас — возможно, это изменит ваш взгляд на инструменты.

https://habr.com/ru/companies/otus/articles/1022120/

#Java #Python #backendразработка #интеграционное_тестирование #микросервисы #pytest #автоматизация_тестирования #testcontainers #OpenAPI

Почему Python стал главным помощником Java‑команд

Всем привет, меня зовут Сергей Прощаев. Я Tech Lead и руководитель направления Java | Kotlin разработки в FinTech, а также преподаю на курсах разработки и архитектуры в OTUS....

Хабр

When you decide to dive into an otherwise AI-coded codebase, and you want to make by-hand changes, at least there are tests.

Right?

https://blog.davep.org/2026/05/01/at-least-there-are-tests.html

#ai #agent #agentic #copilot #claude #python #pytest

At least there are tests

In a post yesterday I finished off by saying:

davep