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. Това е полезно за проверка на функцията с различни данни.