Sobes.tech
Back to questions
Junior — Middle
66

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

Companies where asked
Леста

Answer from AI

sobes.tech AI

В 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. Такой подход удобен для проверки функции на разных входных данных без дублирования кода.