Sobes.tech
Junior — Middle

Können Sie erklären, was unter der Verwendung von Parametern in Tests mit pytest verstanden wird?

sobes.tech KI

Antwort von AI

Die Parametrisierung von Tests in pytest ermöglicht es, denselben Test mit verschiedenen Eingabedaten auszuführen, was die Überprüfung verschiedener Varianten ohne Code-Duplikation erleichtert.

Dazu wird der Dekorator @pytest.mark.parametrize verwendet, der den Namen des Parameters und eine Liste von Werten oder Tupeln von Werten annimmt.

Beispiel:

import pytest

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

In diesem Beispiel wird der Test test_square dreimal mit unterschiedlichen Werten für input und expected ausgeführt. Das ist praktisch, um die Funktion mit verschiedenen Daten zu testen.