Sobes.tech
Junior — Middle

Môžete vysvetliť, čo sa rozumie použitím parametrov v testoch s pytest?

sobes.tech AI

Odpoveď od AI

Parametrizácia testov v pytest umožňuje spúšťať ten istý test s rôznymi sadami vstupných údajov, čo uľahčuje overovanie viacerých variantov bez duplikácie kódu.

Na tento účel sa používa dekorátor @pytest.mark.parametrize, ktorý prijíma názov parametra a zoznam hodnôt alebo n-tíc hodnôt.

Prí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 príklade bude test test_square spustený trikrát s rôznymi hodnotami input a expected. Je to užitočné na testovanie funkcie s rôznymi dátami.