Как использовать unit тест с параметрами в pytest

Python Middle Без компании
Как использовать unit тест с параметрами в pytest
Ответы
В pytest параметризованные тесты можно создать с помощью декоратора `@pytest.mark.parametrize`. Он позволяет передавать разные наборы данных в один тест, избегая дублирования кода. Пример: ``` import pytest @pytest.mark.parametrize("input, expected", [ (2, 4), (3, 9), (5, 25) ]) def test_square(input, expected): assert input ** 2 == expected ``` Ключевые моменты: - Первый аргумент декоратора - строка с именами параметров через запятую - Второй аргумент - список кортежей с тестовыми данными - Можно использовать несколько декораторов для комбинаторики параметров - Для сложных случаев можно передавать параметры через фикстуры Для удобства можно выносить параметры в отдельную переменную: ``` test_data = [(1, 1), (2, 4), (3, 9)] @pytest.mark.parametrize("x,expected", test_data) ```