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 маанилери менен ишке ашырылат. Бул функцияны ар кандай маалыматтар менен текшерүү үчүн пайдалуу.