Sobes.tech
Junior — Middle

Կարող եք բացատրել, թե ինչ է ենթադրվում pytest-ով թեստերում պարամետրերի օգտագործումը?

sobes.tech AI

Պատասխան AI-ից

pytest-ում պարամետրիզացիան թույլ է տալիս նույն թեստը մի քանի տարբեր մուտքային տվյալներով գործարկել, ինչը հեշտացնում է տարբեր տարբերակների ստուգումը առանց կոդի կրկնօրինակի:

Դրա համար օգտագործվում է @pytest.mark.parametrize դեկորատորը, որը ընդունում է պարամետրի անունը և արժեքների կամ արժեքների տիպիկների ցանկը:

Օրինակ՝

import pytest

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

Այս օրինակով test_square թեստը կկատարվի երեք անգամ տարբեր input և expected արժեքներով: Սա օգտակար է ֆունկցիայի տարբեր տվյալներով ստուգման համար։