Junior — Middle
Czy możesz wyjaśnić, co oznacza użycie parametrów w testach z pytest?
sobes.tech AI
Odpowiedź od AI
Parametryzacja testów w pytest pozwala na uruchomienie tego samego testu z różnymi zestawami danych wejściowych, co upraszcza sprawdzanie wielu wariantów bez duplikowania kodu.
Do tego służy dekorator @pytest.mark.parametrize, który przyjmuje nazwę parametru i listę wartości lub krotek wartości.
Przykład:
import pytest
@pytest.mark.parametrize("input,expected", [
(2, 4),
(3, 9),
(4, 16),
])
def test_square(input, expected):
assert input * input == expected
W tym przykładzie test test_square zostanie wykonany trzy razy z różnymi wartościami input i expected. To jest przydatne do testowania funkcji na różnych danych.