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