Speccer είναι μια προδιαγραφή που βασίζεται δρομέας δοκιμή για την Python.
Speccer παρέχει ένα απλό μέσο για τον έλεγχο των μεμονωμένων μονάδων. Χρησιμοποιεί ένα ελάχιστο, διεκδικούν χωρίς σύνταξη. Αυτή η σύνταξη έχει συνταχθεί σε πραγματικό κώδικα χρησιμοποιώντας unittest της Python. Εφεξής Speccer μπορεί να θεωρηθεί ως εναλλακτική λύση σε αυτό σε διάφορες καταστάσεις.
Run "setup.py εγκατάσταση" για να ξεκινήσει λικνίζοντας. Δείτε το φάκελο "demo" για ένα πραγματικό παράδειγμα. Αφού έχετε εγκαταστήσει το εργαλείο απλά να επικαλεστεί "speccer" σε αυτόν τον κατάλογο. Θα πρέπει να δείτε κάποια αποτελέσματα δοκιμών. Νιώστε ελεύθεροι να τσιμπιά τα αρχεία για να δώσει μια σωστή κίνηση.
Βασικές Προδιαγραφές Σύνταξη
Μια προδιαγραφή ενότητα θα μπορούσε να είναι κάπως έτσι:
myclass.spec: (δοκιμές myclass.py)
& Nbsp? Συσταθεί
& Nbsp? C = myclass.MyClass ()
& Nbsp? Προσθέτει δύο και δύο
& Nbsp? C.add (2,2) == 4
& Nbsp? Προσθέτει αρνητικά
& Nbsp? C.add (10, -10) == 0
& Nbsp? Αποτυγχάνει προσθήκη int και κορδόνι
& Nbsp? C.add (10, "foo") θέτει TypeError
Μοιάζει λίγο πολύ όπως και κάθε άλλη δοκιμή που μπορεί να έχετε δει πριν. Η σύνταξη μπορεί να είναι λίγο ελαφρύτερο, όμως. Ως δοκιμή συγγραφέας μπορείτε να εστιάσετε στο ουσιαστικό, ενώ εγγράφως τους ισχυρισμούς. Επιπλέον, είναι λίγο καλύτερο για να διαβάσετε αυτόν τον τρόπο.
Σημειώστε ότι είναι δυνατό να αναμίξετε τακτική κώδικα Python κατά τις δοκιμές. Αυτό δεν θα μπορούσε να λειτουργήσει σε όλες τις περιπτώσεις, όμως, και θα πρέπει να αναφέρονται.
«Στήνεται» είναι μια προκαθορισμένη μέθοδος δοκιμής που εκτελείται πριν από κάθε προδιαγραφή. Με αυτό τον τρόπο μπορείτε να δημιουργήσετε κάποια αντικείμενα που είναι διαθέσιμα για κάθε δοκιμή.
Κάθε προδιαγραφή περιέχει ένα όνομα και κάποια πραγματική κωδικό ισχυρίζεται κάτι. Έχω αναφέρονται διαθέσιμες ισχυρισμούς παρακάτω:
& Nbsp? ==, Είναι ίση
& Nbsp?! =, Δεν είναι ίση
& Nbsp? ~ =, Είναι σχεδόν ίση
& Nbsp?! ~ =, Δεν είναι σχεδόν ίση
& Nbsp?>, Μεγαλύτερο από ό, τι
& Nbsp?> =, Μεγαλύτερο ή ίσο
& Nbsp? <, Μικρότερη από
& Nbsp? <=, Μικρότερο ή ίσο
& Nbsp? X
Requirements:
- Python
Τα σχόλια δεν βρέθηκε