Sobes.tech
Junior — Middle

Kas on parameetrite kasutamine testides pytest abil?

sobes.tech AI

Vastus AI-lt

pytest parameetriseerimine võimaldab sama testi käivitada erinevate sisendandmetega, mis lihtsustab mitme variandi kontrolli ilma koodi dubleerimiseta.

Selleks kasutatakse dekoratsiooni @pytest.mark.parametrize, mis võtab parameetri nime ja nimekirja väärtustest või väärtuste paaridest.

Näide:

import pytest

@pytest.mark.parametrize("input,expected", [
    (2, 4),
    (3, 9),
    (4, 16),
])
def test_square(input, expected):
    assert input * input == expected

Selles näites käivitatakse test_square kolm korda erinevate input ja expected väärtustega. See on kasulik funktsiooni testimiseks erinevate andmetega.