#pytest — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #pytest, aggregated by home.social.
-
Настраиваем 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-проекта с нуля
Настройка 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-проекта с нуля
Настройка 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-проекта с нуля
Настройка CI/CD часто кажется новичкам чем-то сложным и доступным только DevOps-инженерам. На самом деле автоматизировать рутину Python-проекта можно всего за полчаса. В этой статье мы по шагам разберем, как с нуля настроить GitHub Actions для простого FastAPI-приложения: от автоматического запуска тестов и быстрого линтера Ruff до сборки Docker-образа и публикации его в Docker Hub.
https://habr.com/ru/articles/1037002/
#python #github_actions #docker #pytest #автоматизация #fastapi #туториал
-
Как тестировать внешние 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. И каждый раз, когда садимся писать тесты на этот код, упираемся в один и тот же вопрос: как протестировать клиента, не привлекая внимания санитаров выходя в реальный мир? Эта статья про то, как выбирать инструмент под эту задачу. Не абстрактно — на одном маленьком, но гордом настоящем сервисе catfact-demo-service , в tests/ которого рядом лежат пять способов протестировать одну и ту же интеграцию. К концу мы их сравним и аргументированно выберем тот, который оставили бы в production-проекте.
https://habr.com/ru/articles/1034864/
#python #pytest #тестирование #aiohttp #mock #интеграционные_тесты #http #dishka #fastapi #asyncly
-
Как тестировать внешние 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. И каждый раз, когда садимся писать тесты на этот код, упираемся в один и тот же вопрос: как протестировать клиента, не привлекая внимания санитаров выходя в реальный мир? Эта статья про то, как выбирать инструмент под эту задачу. Не абстрактно — на одном маленьком, но гордом настоящем сервисе catfact-demo-service , в tests/ которого рядом лежат пять способов протестировать одну и ту же интеграцию. К концу мы их сравним и аргументированно выберем тот, который оставили бы в production-проекте.
https://habr.com/ru/articles/1034864/
#python #pytest #тестирование #aiohttp #mock #интеграционные_тесты #http #dishka #fastapi #asyncly
-
Основы тестирования и правила, которые помогают надёжно тестировать сложные приложения: примеры на Python
За годы работы разработчиком я сталкивался с разными подходами к тестированию. В этой статье я хочу показать, какие практики кажутся мне неэффективными, и объяснить, как довольно просто писать надёжные тесты, которые дают и хорошее покрытие, и устойчивость. Статья может быть полезна не только Python-разработчикам, но и инженерам-программистам в целом.
-
Основы тестирования и правила, которые помогают надёжно тестировать сложные приложения: примеры на Python
За годы работы разработчиком я сталкивался с разными подходами к тестированию. В этой статье я хочу показать, какие практики кажутся мне неэффективными, и объяснить, как довольно просто писать надёжные тесты, которые дают и хорошее покрытие, и устойчивость. Статья может быть полезна не только Python-разработчикам, но и инженерам-программистам в целом.
-
Основы тестирования и правила, которые помогают надёжно тестировать сложные приложения: примеры на Python
За годы работы разработчиком я сталкивался с разными подходами к тестированию. В этой статье я хочу показать, какие практики кажутся мне неэффективными, и объяснить, как довольно просто писать надёжные тесты, которые дают и хорошее покрытие, и устойчивость. Статья может быть полезна не только Python-разработчикам, но и инженерам-программистам в целом.
-
Основы тестирования и правила, которые помогают надёжно тестировать сложные приложения: примеры на Python
За годы работы разработчиком я сталкивался с разными подходами к тестированию. В этой статье я хочу показать, какие практики кажутся мне неэффективными, и объяснить, как довольно просто писать надёжные тесты, которые дают и хорошее покрытие, и устойчивость. Статья может быть полезна не только 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
-
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
-
[Перевод] postman2pytest: как превратить Postman-коллекцию в pytest-набор за одну команду
Вот есть Postman-коллекция из 40 запросов. Разложена по папкам, и с тестовыми скриптами, которые проверяют статус-коды. Вы потратили на неё время, она хороша. И ещё у вас есть CI-пайплайн, который про Postman никогда не слышал и слышать не собирается. Эти две вещи мирно сосуществовали месяцами, потому что никто не хочет быть тем человеком, который вручную переписывает 40 запросов в pytest-функции. Newman, конечно, есть, но Newman гоняет тесты, а не генерирует код, который можно прочитать, отредактировать и нормально положить в систему контроля версий. Получается, коллекция документирует API. CI тестирует API. Они описывают одну и ту же систему и при этом никогда не встречались. Я написал postman2pytest , чтобы их познакомить.
-
[Перевод] postman2pytest: как превратить Postman-коллекцию в pytest-набор за одну команду
Вот есть Postman-коллекция из 40 запросов. Разложена по папкам, и с тестовыми скриптами, которые проверяют статус-коды. Вы потратили на неё время, она хороша. И ещё у вас есть CI-пайплайн, который про Postman никогда не слышал и слышать не собирается. Эти две вещи мирно сосуществовали месяцами, потому что никто не хочет быть тем человеком, который вручную переписывает 40 запросов в pytest-функции. Newman, конечно, есть, но Newman гоняет тесты, а не генерирует код, который можно прочитать, отредактировать и нормально положить в систему контроля версий. Получается, коллекция документирует API. CI тестирует API. Они описывают одну и ту же систему и при этом никогда не встречались. Я написал postman2pytest , чтобы их познакомить.
-
[Перевод] postman2pytest: как превратить Postman-коллекцию в pytest-набор за одну команду
Вот есть Postman-коллекция из 40 запросов. Разложена по папкам, и с тестовыми скриптами, которые проверяют статус-коды. Вы потратили на неё время, она хороша. И ещё у вас есть CI-пайплайн, который про Postman никогда не слышал и слышать не собирается. Эти две вещи мирно сосуществовали месяцами, потому что никто не хочет быть тем человеком, который вручную переписывает 40 запросов в pytest-функции. Newman, конечно, есть, но Newman гоняет тесты, а не генерирует код, который можно прочитать, отредактировать и нормально положить в систему контроля версий. Получается, коллекция документирует API. CI тестирует API. Они описывают одну и ту же систему и при этом никогда не встречались. Я написал postman2pytest , чтобы их познакомить.
-
[Перевод] postman2pytest: как превратить Postman-коллекцию в pytest-набор за одну команду
Вот есть Postman-коллекция из 40 запросов. Разложена по папкам, и с тестовыми скриптами, которые проверяют статус-коды. Вы потратили на неё время, она хороша. И ещё у вас есть CI-пайплайн, который про Postman никогда не слышал и слышать не собирается. Эти две вещи мирно сосуществовали месяцами, потому что никто не хочет быть тем человеком, который вручную переписывает 40 запросов в pytest-функции. Newman, конечно, есть, но Newman гоняет тесты, а не генерирует код, который можно прочитать, отредактировать и нормально положить в систему контроля версий. Получается, коллекция документирует API. CI тестирует API. Они описывают одну и ту же систему и при этом никогда не встречались. Я написал postman2pytest , чтобы их познакомить.
-
Note to self for the nth time: pytest-xdist and pytests `-s` are NOT compatible.
-
Почему 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‑команд
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‑команд
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‑команд
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
-
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
-
#CodeQuality of the lazy developer 🛠️
Updating an educational #Python repo, I looked into what to automate for code quality.
🔮 Spoiler: I landed on uv, ruff, pyright and pre-commit.
In the article: the picks, why, and the make patch that broke on the first try 😄
https://alessandra.bilardi.net/diary/articles/2026-04/the-lazy-developer-s-code-quality.en
-
#CodeQuality of the lazy developer 🛠️
Updating an educational #Python repo, I looked into what to automate for code quality.
🔮 Spoiler: I landed on uv, ruff, pyright and pre-commit.
In the article: the picks, why, and the make patch that broke on the first try 😄
https://alessandra.bilardi.net/diary/articles/2026-04/the-lazy-developer-s-code-quality.en
-
Архитектура тестового фреймворка
Красные тесты на CI, зелёные локально, time.sleep в каждом втором тесте, а после смены селектора всё равно всё падает? Знакомо. Это не судьба, а отсутствие архитектуры. Разбираем, как превратить хаос из автотестов в промышленный фреймворк: слои, паттерны (POM, Builder, DI), анти-паттерны и работу с окружениями. С примерами на Python.
https://habr.com/ru/companies/otus/articles/1026132/
#архитектура_тестового_фреймворка #автотесты_Python #Page_Object_Model #pytest #антипаттерны_тестирования #flaky_tests #WebDriver_ожидания #тестовые_данные_изоляция #стабильность_автотестов
-
@the_compiler Well, that didn‘t quite go according to plan :) But thank you anyway. I never knew there was so much to say about #pytest. Will definitely read it!
-
I wanted to design a #pytest cheat sheet for a while, finally started last week to have it ready for #PyConDE.
I wanted to have a 6 page leaflet (A4 split into thirds), then hyperfocus kicked, and I ended up with a 40 page booklet instead! 🤯
I ordered 500 copies to my hotel, if all goes well they will arrive on Wed. Make sure to get yours, or I'll have to figure out a way to get 30kg home safely again 😅.
Released under CC BY-ND: https://github.com/The-Compiler/pytest-quick-ref
-
Как мы создали новый тестовый фреймворк, адаптируемый к росту проектов
Наш тестовый фреймворк перестал масштабироваться с ростом сервисов. Мы переработали архитектуру, ввели разделение на слои, упростили масштабирование автотестов и подготовили фреймворк к интеграции SDK и использованию AI
-
In my #python project #xiaolongdictionary I had need for generating example data. I did not want to add more dependencies for that, so I took some time to create a function, that takes a TypedDict type and a dictionary of "constraints" to constrain the produced values and output a "factory", that can be called and outputs example values.
It does not cover all the cases that one could imagine, but seems to cover all of mine.
-
Фабрики в тестировании (Python, Django, pytest, factory_boy)
Здесь мы рассматриваем фабрики в тестировании. На очень элементарных примерах, с использованием языка python и инструментов Django, pytest, factory_boy.
-
I kept forgetting how to assert exception messages in PyTest, so I finally checked the docs.
Here’s a reference snippet 🐍
#TIL #DailyPythonista #PyTest #TDD #Python #programming
https://borutzki.github.io/2026/03/30/how-to-assert-exception-message-in-pytest.html
-
I kept forgetting how to assert exception messages in PyTest, so I finally checked the docs.
Here’s a reference snippet 🐍
#TIL #DailyPythonista #PyTest #TDD #Python #programming
https://borutzki.github.io/2026/03/30/how-to-assert-exception-message-in-pytest.html
-
I kept forgetting how to assert exception messages in PyTest, so I finally checked the docs.
Here’s a reference snippet 🐍
#TIL #DailyPythonista #PyTest #TDD #Python #programming
https://borutzki.github.io/2026/03/30/how-to-assert-exception-message-in-pytest.html
-
I kept forgetting how to assert exception messages in PyTest, so I finally checked the docs.
Here’s a reference snippet 🐍
#TIL #DailyPythonista #PyTest #TDD #Python #programming
https://borutzki.github.io/2026/03/30/how-to-assert-exception-message-in-pytest.html
-
I kept forgetting how to assert exception messages in PyTest, so I finally checked the docs.
Here’s a reference snippet 🐍
#TIL #DailyPythonista #PyTest #TDD #Python #programming
https://borutzki.github.io/2026/03/30/how-to-assert-exception-message-in-pytest.html
-
pytest-check 2.8.0
https://github.com/okken/pytest-check/releases/tag/2.8.0
check helper functions, check.equal(), etc., now support an optional xfail string to allow check failures to result in xfail instead of fail on a non-xfail marked test
And we’re temporarily at 0 open issues and 0 PRs
#Python #pytest -
Параметризация Pytest: когда файловая коллекция становится тест-кейсами
Привет, Хабр! Меня зовут Владислав Тимашенков, я занимаюсь автоматизацией тестирования в ГК InfoWatch. Мы разрабатываем DLP-систему для защиты контента и предотвращения утечек информации. Специфика продуктов InfoWatch состоит в анализе самых разнообразных данных. Поэтому практически каждый автотест требует подхода с широким набором параметров. Для нашей команды хорошим решением стало вынести генерацию параметров pytest.mark.parametrize в отдельный компонент, который собирает данные из файловой коллекции проекта. Существует множество способов параметризировать тестовые функции. Эта статья — пример изящной параметризации Pytest для сценариев, основанных на файловой коллекции проекта с большим количеством данных. Расскажем про наш опыт решения такой задачи. Параметризация Pytest позволяет сделать из теста каркас, шаблон, который принимает данные для конфигураций, для assert и т.д. Пример из документации Pytest:
https://habr.com/ru/companies/infowatch/articles/1012040/
#python #pytest #автоматизация_тестирования #тестирование #qa_automation #qa
-
Novo post no blog: testes que realmente testam.
Fixtures com escopo controlado, parametrize para eliminar duplicação e mocks com pytest-mock para isolar dependências externas — tudo o que falta para sair do `assert 1 == 1` e ter uma suite que protege o código de verdade.
Fecha o loop do artigo de injeção de dependência: o código ficou testável lá; agora está, de fato, testado.
🔗 https://www.riverfount.dev.br/posts/pytest_alem_do_basico/
-
10 900 тестов: Как мы обеспечиваем качество в PingZen, или Почему ваш мониторинг должен быть протестирован
Мониторинг мониторинга - звучит как масло масляное, но именно этим мы постоянно занимаемся в PingZen . Ведь наш сервис должен быть надёжнее, чем объекты, которые он отслеживает. Если PingZen упадёт, кто сообщит о падении вашего сайта? Сегодня я залезу под капот тестирования PingZen и расскажу, как мы дошли до 10 900 автоматических тестов (5100 на бэкенде и 5812 на фронтенде). Все цифры и технологии - строго из нашего репозитория . Без хайпа, только факты, код и архитектурные решения.А статью подробнее про Pingzen можете посмотреть здесь
https://habr.com/ru/articles/1006610/
#системное_администрирование #мониторинг #мониторинг_сервера #мониторинг_сайта #devops #testing #python #pytest
-
… and now we have also moved the pytest configuration to the pyproject.toml file: https://python-basics-tutorial.readthedocs.io/en/latest/test/pytest/config.html
#Python #Testing #pytest -
Here's a description of some nice features I didn't know about in #PyTest's parameterize() decorator. My favourite is how to avoid really long names for test cases.
https://nedbatchelder.com/blog/202602/pytest_parameter_functions