Sobes.tech
Junior — Middle

pytest ilə testlərdə parametrlərdən istifadə etmənin nə demək olduğunu izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

pytest-də parametrizasiya testlərin eyni testi müxtəlif giriş məlumatları ilə işlətməyə imkan verir, bu da çoxsaylı variantların yoxlanmasını kodu təkrarlamadan asanlaşdırır.

Bunun üçün @pytest.mark.parametrize dekoratorundan istifadə olunur, o parametr adını və dəyərlər və ya dəyərlər cütlüklərindən ibarət siyahını qəbul edir.

Nümunə:

import pytest

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

Bu nümunədə, test_square testi müxtəlif inputexpected dəyərləri ilə üç dəfə icra olunacaq. Bu, funksiyanı müxtəlif məlumatlarla yoxlamaq üçün faydalıdır.