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