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.