Sobes.tech
Junior — Middle

Kunt u uitleggen wat wordt bedoeld met het gebruik van parameters in tests met pytest?

sobes.tech AI

Antwoord van AI

De parametrisatie van tests in pytest stelt je in staat om dezelfde test uit te voeren met verschillende invoergegevens, wat het controleren van meerdere varianten zonder duplicatie van code vereenvoudigt.

Hiervoor wordt de decorateur @pytest.mark.parametrize gebruikt, die de naam van de parameter en een lijst van waarden of tuples van waarden accepteert.

Voorbeeld:

import pytest

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

In dit voorbeeld wordt de test test_square drie keer uitgevoerd met verschillende waarden voor input en expected. Dit is handig om de functie met verschillende gegevens te testen.