pytest.mark.parameterize - это декоратор, который позволяет параметризовать тесты в pytest, что позволяет запускать один и тот же тест с разными входными данными. 1. Пример с использованием списка параметров: import pytest @pytest.mark.parametrize("input, expected", [(1, 2), (2, 3), (3, 4)]) def test_increment_function(input, expected): assert input + 1 == expected В этом примере тест test_increment_function будет запущен трижды с разными параметрами (1, 2), (2, 3) и (3, 4). 2. Пример с использованием параметризации по именованным аргументам: import pytest @pytest.mark.parametrize("input, expected", [ (1, 2), pytest.param(2, 4, marks=pytest.mark.xfail) ]) def test_double_function(input, expected): assert input * 2 == expected В этом примере второй тест с параметрами (2, 4) помечен как ожидаемо падающий с помощью pytest.mark.xfail. 3. Пример с динамической генерацией параметров: import pytest @pytest.mark.parametrize("input", range(5)) def test_square_function(input)
ПРИМЕРЫ ТЕСТОВ С ИСПОЛЬЗОВАНИЕМ @pytest.mark.parametrize
5 марта 20245 мар 2024
26
2 мин