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 արժեքներով: Սա օգտակար է ֆունկցիայի տարբեր տվյալներով ստուգման համար։