Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, co oznacza użycie parametrów w testach z pytest?

sobes.tech AI

Odpowiedź od AI

Parametryzacja testów w pytest pozwala na uruchomienie tego samego testu z różnymi zestawami danych wejściowych, co upraszcza sprawdzanie wielu wariantów bez duplikowania kodu.

Do tego służy dekorator @pytest.mark.parametrize, który przyjmuje nazwę parametru i listę wartości lub krotek wartości.

Przykład:

import pytest

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

W tym przykładzie test test_square zostanie wykonany trzy razy z różnymi wartościami input i expected. To jest przydatne do testowania funkcji na różnych danych.