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.