hachyderm.io is one of the many independent Mastodon servers you can use to participate in the fediverse.
Hachyderm is a safe space, LGBTQIA+ and BLM, primarily comprised of tech industry professionals world wide. Note that many non-user account types have restrictions - please see our About page.

Administered by:

Server stats:

9.4K
active users

#pytest

3 posts3 participants0 posts today

API автотесты на Python с запуском на CI/CD и Allure отчетом

В этой статье разберём процесс написания API автотестов на Python, используя современные best practices. Кроме того, мы настроим их запуск в CI/CD с помощью GitHub Actions и сформируем Allure-отчёт с историей запусков. Цель статьи — не только показать, как писать качественные API автотесты, но и научить запускать их в CI/CD, получая удобные отчёты о результатах.

habr.com/ru/articles/895452/

ХабрAPI автотесты на Python с запуском на CI/CD и Allure отчетомВступление В этой статье мы разберём процесс написания API автотестов на Python, используя современные best practices. Кроме того, мы настроим их запуск в CI/CD с помощью GitHub Actions и сформируем...

Nous avons tous nos bonnes pratiques lorsqu'il s'agit de créer un nouveau #projet #Python, avec l'utilisation de patterns et d'outils éprouvés : lint avec #ruff et #mypy, hooks avec #precommit, tests avec #pytest, intégration continue #githubactions : github.com/neubig/starter-repo

Libre à chaque personne de faire évoluer le porojet selon ses propres goûts et contraintes.

An example starter repo for Python projects. Contribute to neubig/starter-repo development by creating an account on GitHub.
GitHubGitHub - neubig/starter-repo: An example starter repo for Python projectsAn example starter repo for Python projects. Contribute to neubig/starter-repo development by creating an account on GitHub.

#TIL if you have to deal with lengthy tests in #PyTest, you can split them to sub-tests.

There's a library `pytest-subtests` specifically for that. It basically introduces `subTest` functionality from `unittest` built-in to PyTest, so it is becomes possible to neatly structure complicated tests.

Especially useful for end-to-end-like tests that have to perform a bunch of operations in a sequence and validate output of each. 🐍

#DailyPythonista #Python #Programming
pypi.org/project/pytest-subtes

Боремся с токсичными комментариями с помощью ИИ, FastAPI и React

В последнее время я перестал читать комментарии к статьям на Хабре. Причина — токсичность и ненависть друг к другу. Абсолютно безобидные технические статьи подчас вызывают бурю агрессии у отдельных лиц. Всех банить тоже нельзя — свобода слова закреплена в Конституции. Но есть решение : давайте используем искусственный интеллект, который будет анализировать комментарий и переписывать его, меняя токсичность на вежливость, сохраняя основную мысль комментария. Мы воспользуемся FastAPI для бэкенда, React для фронтенда, заставим их между собой общаться через RESTful API, а бизнес-логику реализуем путём обращения к ИИ через gRPC.

habr.com/ru/articles/891004/

ХабрБоремся с токсичными комментариями с помощью ИИ, FastAPI и ReactТипичный день на Хабре В последнее время я перестал читать комментарии к статьям на Хабре. Причина — токсичность и ненависть друг к другу. Абсолютно безобидные технические статьи подчас вызывают бурю...

DevOps нет, но вы держитесь: как разработчики запустили тесты на этапе MR

Со старта нашего проекта Polymatica EPM (бизнес‑платформа для автоматизации процессов стратегического планирования и бюджетирования) мы решили: код должен покрываться тестами. Проект построен на стеке FastAPI + Poetry + Pytest. Из‑за особенностей проекта тесты, в основном, функциональные. Все шло хорошо, команда росла, тесты писались, но запускались только на локальной машине перед коммитами. Наступил момент, когда нужно было внедрить автоматический прогон тестов на этапе Merge Request (MR). На тот момент у нас был собственный GitLab и настроенный CI/CD, но ресурсы DevOps были ограничены. Поэтому задачу пришлось решать силами разработчиков. Меня зовут Дмитрий Богданов, я старший бэкенд‑разработчик, и в этой статье расскажу, как мы оптимизировали запуск тестов, с какими проблемами столкнулись и почему выбрали именно базовый образ для CI/CD.

habr.com/ru/companies/slsoft/a

ХабрDevOps нет, но вы держитесь: как разработчики запустили тесты на этапе MRСо старта нашего проекта Polymatica EPM (бизнес‑платформа для автоматизации процессов стратегического планирования и бюджетирования) мы решили: код должен покрываться тестами. Проект построен...

LitestarCatsCV. Тренируемся на кошках. Реализация API и работа с данными

Что вас ждёт: Если в первой части мы заложили фундамент проекта (выбор инструментов, настройка окружения и структура), то здесь мы превратим этот каркас в полноценное API для управления резюме кошек (или людей — как вам ближе). Мы подключим базу данных, добавим тесты, настроим миграции и даже проверим всё в действии. К концу статьи у вас будет рабочее API, которое можно потрогать руками (или лапками 🐾). Полный код доступен на GitHub — ссылка в конце!

habr.com/ru/companies/ntechlab

ХабрLitestarCatsCV. Тренируемся на кошках. Реализация API и работа с даннымиВ этой статье вы узнаете, как: Поднять PostgreSQL и подготовить базу данных. Настроить тесты с Pytest и внедрить подход TDD. Создать модели данных и миграции с SQLAlchemy и Alembic. Реализовать...

What got me thinking today at work was how to test one massive set of transactions in #Django with support of #PyTest. One test is like 400 lines of code (multiple objects created and outputs created, “by design”).

Sounds like a neat challenge to tackle Monday morning.

Maybe anyone here tackled something like this? Tried splitting big test into smaller chunks and testing steps but with shared scope of variables and test database state?

#PyTest fajny jest.

`pytest` (bez `-v`) pokazuje jedynie skróconą wersję różnic, uciętą przy którejś linii faktycznych różnic.
`pytest -vv` pokazuje pełną wersję różnic, razem z wszystkimi liniami, które się nie różnią.
`pytest -v` pokazuje pełną wersję różnic, ale uciętą — czyli w praktyce pokazuje tych kilka pierwszych linii, które się nie różnią, i nic więcej.

Z pewnością ma to sens.

#PyTest fun:

`pytest` (with no verbosity arguments) just shows a truncated partial diff of what changed.
`pytest -vv` (full verbosity) shows the complete diff, along with all the common lines.
`pytest -v` shows a truncated complete diff — i.e. the first few common lines and no diff at all.

Surely that makes sense.

Decentralizers, attention! :)

Last #deltachat releases introduced stable #p2p group membership not found in any other messenger. Members can add/remove peers also while being offline, and when everything comes online again, everyone has the same consistent membership view. We formalized and ran a simulation model using #TLA+ (invented by Leslie Lamport of vector clock fame):

github.com/chatmail/models/tre

and a complementary #pytest model with more corner cases tested here:

github.com/chatmail/models/blo

Formal specifications for chatmail. Contribute to chatmail/models development by creating an account on GitHub.
GitHubmodels/group-membership at main · chatmail/modelsFormal specifications for chatmail. Contribute to chatmail/models development by creating an account on GitHub.

Dear @ThePSF ...

having been engaged with #Python through co-creating #pytest #pypy, giving talks and trainings i appreciate that the PSF has long been a champion of diversity and inclusion! Are you aware that these days many non-USians are canceling their US travels? The German foreign ministry warns about travel to the US if you are pregnant or don't have your passport carrying a birth gender marker, then this: kpbs.org/news/border-immigrati

Maybe better update the #Pycon webpage accordingly?

Наш архитектурный подход к Python приложениям

Мы долгие годы писали сервисы исходя из каких-то своих внутренних ощущений правильности их написания. Но синхронизироваться по хорошим практикам в разных командах бывает довольно сложно и часто хорошие практики не выходили за рамки одной команды, а такого хотелось бы избежать. Поэтому мы решили объединить все хорошие по нашему мнению практики в единый справочник. Этот справочник получил название «Архитектурный гайд». Про него и поговорим в данной статье.

habr.com/ru/companies/raiffeis

ХабрНаш архитектурный подход к Python приложениямМы долгие годы писали сервисы, исходя из каких-то своих внутренних ощущений правильности их написания. Но синхронизироваться по хорошим практикам в разных командах бывает довольно сложно и часто...

Thing I'm glad to know but am concerned that I felt I had to learn even though it turned out that I didn't need to know it but I might need to know it relatively soon, number 358712:

In , it is possible to control test order by parameter pass order on the CLI, AND it is also possible to refer to tests in the same file interleaved with other files:

```
$ pytest test_A.py::test_thing1 test_B.py::test_thing1 test_A.py::test_thing2 test_B.py::test_thing2
```