Sobes.tech
Junior — Middle

pytest ile testlerde parametrelerin kullanımıyla ne kastedildiğini açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

pytest'te parametrize testleri, aynı testi farklı giriş verileri setleriyle çalıştırmaya olanak tanır, bu da kod tekrarını olmadan çeşitli varyantların kontrolünü kolaylaştırır.

Bunun için @pytest.mark.parametrize dekoratörü kullanılır, bu dekoratör parametre adını ve değerler veya değer tuple'larından oluşan bir liste alır.

Örnek:

import pytest

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

Bu örnekte, test_square testi farklı input ve expected değerleriyle üç kez çalıştırılacaktır. Bu, fonksiyonu farklı verilerle test etmek için kullanışlıdır.