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. Είναι χρήσιμο για τον έλεγχο της λειτουργίας με διαφορετικά δεδομένα.