Junior — Middle
Můžete vysvětlit, co se rozumí použitím parametrů v testech s pytest?
sobes.tech AI
Odpověď od AI
Parametrizace testů v pytest umožňuje spouštět stejný test s různými sadami vstupních dat, což usnadňuje ověřování různých variant bez duplicitního kódu.
K tomu slouží dekorátor @pytest.mark.parametrize, který přijímá název parametru a seznam hodnot nebo n-tic hodnot.
Příklad:
import pytest
@pytest.mark.parametrize("input,expected", [
(2, 4),
(3, 9),
(4, 16),
])
def test_square(input, expected):
assert input * input == expected
V tomto příkladu bude test test_square spuštěn třikrát s různými hodnotami input a expected. Je to užitečné pro testování funkce s různými daty.