Sobes.tech
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.