Sobes.tech
Junior — Middle

Πώς καθορίζει το PyTest ποιες δοκιμαστικές λειτουργίες ή περιπτώσεις πρέπει να εκτελεστούν κατά τη διάρκεια της δοκιμής;

sobes.tech AI

Απάντηση από AI

Το PyTest ανιχνεύει αυτόματα τις δοκιμαστικές συναρτήσεις και μεθόδους σύμφωνα με συγκεκριμένους κανόνες ονοματοδοσίας και δομής. Από προεπιλογή, αναζητά:

  • Συναρτήσεις των οποίων το όνομα αρχίζει με test_.
  • Μεθόδους μέσα σε κλάσεις των οποίων το όνομα αρχίζει με test_, υπό την προϋπόθεση ότι η κλάση αρχίζει επίσης με Test και δεν κληρονομεί από το unittest.TestCase.
  • Αρχεία των οποίων το όνομα αρχίζει με test_ ή τελειώνει σε _test.py.

Έτσι, το PyTest σαρώσει καταλόγους, βρίσκει αυτά τα αρχεία, τα εισάγει και εκτελεί όλες τις συναρτήσεις και μεθόδους που πληρούν αυτά τα κριτήρια. Αυτό διευκολύνει την οργάνωση των δοκιμών χωρίς να χρειάζεται να τις καταχωρίσετε ρητά.

Παράδειγμα:

# test_example.py

def test_sum():
    assert sum([1, 2, 3]) == 6

class TestMath:
    def test_multiply(self):
        assert 2 * 3 == 6

Όταν τρέχετε το pytest, αυτοί οι δύο έλεγχοι θα ανιχνευθούν και θα εκτελεστούν.