Как запустить один и тот же тест с разными наборами параметров в `pytest`?

В pytest для передачи различных входных данных в единичные тесты используется параметризация с помощью декоратора @pytest.mark.parametrize. Это позволяет запускать один и тот же тест с разными наборами аргументов.

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

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

В pytest для передачи различных входных данных в единичные тесты используется параметризация с помощью декоратора @pytest.mark.parametrize. Это позволяет запускать один и тот же тест с разными наборами аргументов.

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

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

В pytest для передачи различных входных данных в единичные тесты используется параметризация с помощью декоратора @pytest.mark.parametrize. Это позволяет запускать один и тот же тест с разными наборами аргументов.

Пример:

import pytest

@pytest.mark.parametrize("input,expected", [
    (2, 4),
    (3, 9),
    (4, 16),
])
def test_square(input, expected):
    assert input ** 2 == expected

В этом примере тест test_square будет выполнен три раза с разными значениями input и expected. Такой подход удобен для проверки функции на разных входных данных без дублирования кода.

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

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

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

Подробнее