Расскажите синтаксис pytest.mark.parametrize.

Декоратор @pytest.mark.parametrize получает имена параметров и наборы их значений. Pytest создаёт отдельный тестовый случай для каждого набора, передавая значения в аргументы функции.

Короткий ответ

Что ответить на собеседовании

Декоратор @pytest.mark.parametrize получает имена параметров и наборы их значений. Pytest создаёт отдельный тестовый случай для каждого набора, передавая значения в аргументы функции.

Подробный разбор

Ответ с пояснениями

Декоратор @pytest.mark.parametrize получает имена параметров и наборы их значений. Pytest создаёт отдельный тестовый случай для каждого набора, передавая значения в аргументы функции.

import pytest

@pytest.mark.parametrize('a,b,expected', [
    (1, 2, 3),
    (-1, 1, 0),
])
def test_sum(a, b, expected):
    assert a + b == expected

Количество значений в строке должно соответствовать параметрам. Для понятных названий случаев можно задавать ids, а для отдельных настроек использовать pytest.param. Изменяемые значения не копируются автоматически между случаями, поэтому избегайте случайного изменения общих данных.

Источник: docs.pytest.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее