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