Параметризация Pytest: когда файловая коллекция становится тест-кейсами

Привет, Хабр! Меня зовут Владислав Тимашенков, я занимаюсь автоматизацией тестирования в ГК InfoWatch. Мы разрабатываем DLP-систему для защиты контента и предотвращения утечек информации. Специфика продуктов InfoWatch состоит в анализе самых разнообразных данных. Поэтому практически каждый автотест требует подхода с широким набором параметров. Для нашей команды хорошим решением стало вынести генерацию параметров pytest.mark.parametrize в отдельный компонент, который собирает данные из файловой коллекции проекта. Существует множество способов параметризировать тестовые функции. Эта статья — пример изящной параметризации Pytest для сценариев, основанных на файловой коллекции проекта с большим количеством данных. Расскажем про наш опыт решения такой задачи. Параметризация Pytest позволяет сделать из теста каркас, шаблон, который принимает данные для конфигураций, для assert и т.д. Пример из документации Pytest:

https://habr.com/ru/companies/infowatch/articles/1012040/

#python #pytest #автоматизация_тестирования #тестирование #qa_automation #qa

Параметризация Pytest: когда файловая коллекция становится тест-кейсами

Привет, Хабр! Меня зовут Владислав Тимашенков, я занимаюсь автоматизацией тестирования в ГК InfoWatch. Мы разрабатываем DLP-систему для защиты контента и предотвращения утечек информации. Специфика...

Хабр

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/

#python #pytest #testes #programação

Testes que Realmente Testam: pytest Além do Básico

No artigo sobre injeção de dependência ficou um problema em aberto. A classe OrderService não dava para testar sem subir banco, sem fazer chamada HTTP real, sem criar arquivo em disco. A solução apresentada foi injetar as dependências pelo construtor — o que deixa o código testável. Mas testável não significa testado. Este artigo fecha esse loop. O objetivo aqui não é ensinar assert 1 == 1. É mostrar as ferramentas que separam uma suite de testes que protege o código de uma suite que só infla a cobertura: fixtures com escopo controlado, parametrize para eliminar duplicação, e mocks com pytest-mock para isolar dependências externas de verdade.

Blog do Riverfount

A #pytest plugin to make the output look like #pest 's one: https://github.com/einenlum/pytest-elegant

#PHP #Python

Redirecting...

10 900 тестов: Как мы обеспечиваем качество в PingZen, или Почему ваш мониторинг должен быть протестирован

Мониторинг мониторинга - звучит как масло масляное, но именно этим мы постоянно занимаемся в PingZen . Ведь наш сервис должен быть надёжнее, чем объекты, которые он отслеживает. Если PingZen упадёт, кто сообщит о падении вашего сайта? Сегодня я залезу под капот тестирования PingZen и расскажу, как мы дошли до 10 900 автоматических тестов (5100 на бэкенде и 5812 на фронтенде). Все цифры и технологии - строго из нашего репозитория . Без хайпа, только факты, код и архитектурные решения.А статью подробнее про Pingzen можете посмотреть здесь

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

#системное_администрирование #мониторинг #мониторинг_сервера #мониторинг_сайта #devops #testing #python #pytest

10 900 тестов: Как мы обеспечиваем качество в PingZen, или Почему ваш мониторинг должен быть протестирован

Мониторинг мониторинга  - звучит как масло масляное, но именно этим мы постоянно занимаемся в PingZen . Ведь наш сервис должен быть надёжнее, чем объекты, которые он отслеживает. Если PingZen...

Хабр
… 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
Configuration

You can use configuration files to change the way pytest runs. If you repeatedly use certain options in your tests, such as--verbose or--strict-markers, you can store them in a configuration file s...

Python Basics

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

#python

Pytest parameter functions

Pytest’s parametrize can be made even more powerful with your own helper functions to build test cases.

Руководство по настройке отчётов через плагины в Allure 3

Привет, Хабр. Сегодня поговорим о новой версии Allure Report — Allure 3, а именно о её модульной архитектуре. В ней можно настроить сколько угодно отображений тестовой иерархии в разных форматах; я покажу это на простом примере. В какой ситуации может это быть полезно? Когда с тестами работает несколько команд, обычно удобно, чтобы у каждой был своя классификация тестов. Кто-то хочет, чтобы тесты были организованы по фичам, т.е. близко к требованиям. Кто-то предпочитает видеть организацию по сюитам - ближе к коду проверяемого приложения. Мы сделаем так, чтобы при каждом запуске тестов Allure генерировал два отчёта, каждый со своим отображением тестов.

https://habr.com/ru/companies/testops_tms/articles/1003302/

#тестирование #автоматизация #qa #automation #allure #python #pytest

Руководство по настройке отчётов через плагины в Allure 3

Привет, Хабр. Сегодня поговорим о новой версии Allure Report — Allure 3, а именно о её модульной архитектуре. В ней можно настроить сколько угодно отображений тестовой иерархии в разных форматах; я...

Хабр

Habe viel programmiert an meinem nicht-fertigen Pythonprogramm.

https://code.c-base.org/infuanfu/teilchensammler-cli

Releases gehen nur noch mit release notes; der Eventhandler speichert geparste Daten in der DB; eine Datei wurde entlöscht (so entkam ich der Hölle der zirkulären Imports).

Bei den Testfixtures hab ich mich richtig ausgetobt.

Ein, zwei Features kommen noch. Und sowas, dass man das Teil mit pip installieren und aufrufen kann.

Habt ihr ein Schema für Release-Namen?

#python #textual #pytest

teilchensammler-cli

teilchensammler-cli

Ode to the code