Junior — Middle
Ar galite paaiškinti, ką reiškia parametrų naudojimas testuose su pytest?
sobes.tech AI
Atsakymas iš AI
pytest parametrizacija leidžia vieną tą patį testą vykdyti su skirtingais įvesties duomenimis, tai palengvina daugybės variantų tikrinimą be kodo dubliavimo.
Tam naudojamas @pytest.mark.parametrize dekoratorius, kuris priima parametro pavadinimą ir sąrašą reikšmių arba reikšmių porų.
Pavyzdys:
import pytest
@pytest.mark.parametrize("input,expected", [
(2, 4),
(3, 9),
(4, 16),
])
def test_square(input, expected):
assert input * input == expected
Šiuo pavyzdžiu test_square testas bus vykdomas tris kartus su skirtingomis input ir expected reikšmėmis. Tai naudinga funkcijos testavimui su įvairiais duomenimis.