τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Πίνακας περιεχομένων
Πίνακας περιεχομένων
(2) Μεταδιδόμενο αντικείμενο δεδομένων
(1) Σύμβαση ονοματοδοσίας βάσεων δεδομένων:
(4) Προδιαγραφές front-end και back-end:
(2) Δημιουργήστε ένα νέο έργο και προσκαλέστε τους συμπαίκτες σας:
(3) Σύνταξη προδιαγραφών για έγγραφα διεπαφής
4. Λειτουργία εντοπισμού σφαλμάτων (πρέπει να γνωρίζει το backend)
(Ένα άτομο δεν μπορεί να κυριαρχήσει στη χώρα!!!)
Τα συγκεκριμένα είναι:
(1) Επίπεδο οντότητας: Το επίπεδο οντότητας αποθηκεύει συγκεκριμένες οντότητες αντικειμένων, που αντιστοιχούν στα αντικείμενα της βάσης δεδομένων.
(2) Επίπεδο DAO: (μπορεί να υποδιαιρεθεί σε δύο επίπεδα (επίπεδο διεπαφής dao και επίπεδο υλοποίησης dao)) είναι το επίπεδο που αλληλεπιδρά με τη βάση δεδομένων, που περιλαμβάνει ορισμένες λειτουργίες προσθήκης, διαγραφής, τροποποίησης και αναζήτησης βάσης δεδομένων.
(3) Επίπεδο υπηρεσίας (μπορεί να υποδιαιρεθεί σε δύο επίπεδα (επίπεδο διεπαφής υπηρεσίας και επίπεδο υλοποίησης υπηρεσίας)): κυρίως υπεύθυνο για το λογικό σχεδιασμό εφαρμογών των επιχειρηματικών μονάδων.
(4) Επίπεδο ελεγκτή: Το επίπεδο ελεγκτή είναι υπεύθυνο για τον έλεγχο συγκεκριμένων διεργασιών επιχειρηματικής μονάδας Το επίπεδο ελεγκτή είναι υπεύθυνο για την αλληλεπίδραση με το μπροστινό μέρος και το πίσω μέρος, την αποδοχή αιτημάτων διεπαφής, την κλήση του επιπέδου υπηρεσιών, τη λήψη δεδομένων που επιστρέφονται από. το επίπεδο υπηρεσίας και, τέλος, επιστροφή συγκεκριμένων σελίδων και δεδομένων στον πελάτη.
(5) Επίπεδο Util: Το επίπεδο εργαλείου τοποθετεί συνήθως χρησιμοποιούμενες κατηγορίες εργαλείων.
(6) Επίπεδο εξαίρεσης: Μπορείτε να γράψετε ένα επίπεδο εξαίρεσης ενοποιημένης επιστροφής.
(7) Επίπεδο φίλτρου: Επίπεδο φίλτρου, όπως ομοιόμορφο φιλτράρισμα ελέγχου ταυτότητας Εάν το φίλτρο δεν περάσει, θα είναι μόνο σε λειτουργία επισκέπτη.
Το DTO είναι η δομή δεδομένων που αποστέλλεται από το αίτημα front-end.
VO είναι η απάντηση που επιστρέφεται από το backend ως απάντηση στο αίτημα που αποστέλλεται από το frontend.
Το PO είναι η πραγματική αντιστοιχία μεταξύ της οντότητας αντικειμένου και του πίνακα αντικειμένων της βάσης δεδομένων.
Το BO είναι η οντότητα αντικειμένου στη διαδικασία επιχειρηματικής επεξεργασίας.
Παρακαλώ ονομάστε το στα αγγλικά, όχι στα κινέζικα Pinyin.
Να είστε εύκολα κατανοητοί, όχι φανταχτεροί.
Χρησιμοποιήστε ονομασία καμπούρας αντί για συνηθισμένα ονόματα.
Χρησιμοποιήστε διακοπές γραμμής κατά διαστήματα και μην γράφετε σε μεγάλες παραγράφους.
Να είστε σχολιασμένοι, όχι ατομικιστές.
Μην χρησιμοποιείτε λέξεις-κλειδιά, δεσμευμένες λέξεις κ.λπ. που έχουν ειδική σημασία στην ίδια την Java! ! !
(1) Το όνομα του πίνακα είναι μοναδικό και πολλά ονόματα πινάκων δεν μπορούν να χρησιμοποιούν το ίδιο όνομα.
(2) Το όνομα του πίνακα θα πρέπει να είναι ένας συνδυασμός πεζών γραμμάτων και χαρακτήρων. Προσπαθήστε να αποφύγετε τη χρήση κεφαλαίων ή ειδικών χαρακτήρων.
(3) Μην έρχεται σε αντίθεση με λέξεις-κλειδιά,Για να απενεργοποιήσετε δεσμευμένες λέξεις, όπως όπως, desc, range, match, delayed κ.λπ., ανατρέξτε στις επίσημες δεσμευμένες λέξεις της MySQL.
(4) Όνομα πεδίου βάσης δεδομένων: Αποτελείται από 26 αγγλικά γράμματα (με διάκριση πεζών-κεφαλαίων) συν την υπογράμμιση '_', όπως "user_id", "user_name", "user_password", "user_register_time", "user_login_time".
(5) Προδιαγραφές πρωτεύοντος και ξένου κλειδιού:
Πρωτεύον κλειδί: pk_+όνομα πίνακα
Για παράδειγμα:pk_main
Ξένο κλειδί: fk_+ όνομα πίνακα υποτελών+_+ όνομα κύριου πίνακα
Για παράδειγμα:fk_sub_main
(1) Σχολιασμός τάξης:
Οι σχολιασμοί τάξης (Class) χρησιμοποιούνται κυρίως για να δηλώσουν για ποιο σκοπό χρησιμοποιείται η κλάση, καθώς και ορισμένες πληροφορίες όπως ο δημιουργός, η έκδοση ημερομηνίας δημιουργίας, το όνομα πακέτου κ.λπ.:
/**
* @έκδοση: V1.0
* @συγγραφέας: fendo
* @className: χρήστης
* @packageName: χρήστης
* @description: Αυτή είναι η κλάση χρήστη
* @data: 2024-07-01 12:20
**/
(2) Σχολιασμός μεθόδου (Κατασκευαστής):
/**
* @συγγραφέας: fendo
* @methodsName: addUser
* @description: Προσθήκη χρήστη
* @param: xxxx
* @return: Συμβολοσειρά
* @ρίπτει:
*/
(3) Σχόλια μπλοκ κωδικών: εξηγήστε τον σκοπό ενός συγκεκριμένου μέρους του κώδικά σας
/**
* Δημιουργήστε ένα χρήστη
* xxxxxxx
*/
Χρήστης χρήστης=νέος χρήστης();
(4) Σχόλια με μία πρόταση: σχολιάστε τον ατομικό σας κωδικό
User user=new User();
Ονομάστε το έτσι ώστε να το καταλάβουν οι άλλοι, ονομάστε το σε θήκη καμήλας και να κάνετε διάκριση πεζών-κεφαλαίων.
Για παράδειγμα: UserController, FileController, BookService
Για παράδειγμα: getUserName(), userLogin(), getMessage();
Για παράδειγμα: MAX_STOCK_COUNT / CACHE_EXPIRED_TIME
1) Η μέθοδος για την απόκτηση ενός μεμονωμένου αντικειμένου έχει το πρόθεμα get.2) Οι μέθοδοι για τη λήψη πολλαπλών αντικειμένων έχουν πρόθεμα λίστα και τελειώνουν με πληθυντικό, όπως: listObjects3) Η μέθοδος λήψης στατιστικών τιμών έχει πρόθεμα με μέτρηση.4) Η μέθοδος εισαγωγής έχει το πρόθεμα αποθήκευση/εισαγωγή.5) Η μέθοδος διαγραφής έχει το πρόθεμα αφαίρεση/διαγραφή.6) Η τροποποιημένη μέθοδος έχει πρόθεμα ενημέρωσης.
1) Αντικείμενο δεδομένων: xxxDO, xxx είναι το όνομα του πίνακα δεδομένων.2) Αντικείμενο μεταφοράς δεδομένων: xxxDTO, xxx είναι το όνομα που σχετίζεται με τον επιχειρηματικό τομέα.3) Αντικείμενο εμφάνισης: xxxVO, xxx είναι γενικά το όνομα της ιστοσελίδας.
Αυτή είναι μια μεγάλη παγίδα όταν χρησιμοποιείτε υπάρχοντα αντικείμενα.
Θετικό παράδειγμα:(1) Καθορίστε ένα εύρος σφάλματος Εάν η διαφορά μεταξύ δύο αριθμών κινητής υποδιαστολής είναι εντός αυτού του εύρους, θεωρούνται ίσοι.φλοτέρ ένα = 1,0 F - 0,9 F ;φλοτέρ σι = 0,9 F - 0,8 F ;φλοτέρ διαφ = 1e-6F ;αν ( Μαθηματικά . κοιλιακούς ( ένα - σι ) < διαφ ) {Σύστημα . έξω . println ( "αληθής" );}(2) Χρησιμοποιήστε το BigDecimal για να ορίσετε την τιμή και, στη συνέχεια, εκτελέστε λειτουργίες αριθμού κινητής υποδιαστολής.Μεγάλος Δεκαδικός α = νέος BigDecimal ( "1.0" );Μεγάλος Δεκαδικός β = νέος BigDecimal ( "0.9" );Μεγάλος Δεκαδικός γ = νέος BigDecimal ( "0.8" );BigDecimal x = ένα . αφαιρώ ( σι );BigDecimal y = σι . αφαιρώ ( ντο );αν ( Χ . σύγκρισηΜε ( y ) == 0) {Σύστημα . έξω . println ( "αληθής" );}
τύπος αναγνωριστικού | Κανόνες ονομασίας | παράδειγμα |
Πακέτα | Το πρόθεμα ενός μοναδικού ονόματος πακέτου είναι πάντα όλα τα πεζά γράμματα ASCII και είναι ένα όνομα τομέα ανώτατου επιπέδου, συνήθως com, edu, gov, mil, net, org ή ο αγγλικός κωδικός δύο χαρακτήρων που προσδιορίζει τη χώρα που καθορίζεται από το 1981 Πρότυπο ISO 3166. Τα επόμενα μέρη του ονόματος πακέτου ποικίλλουν ανάλογα με τις εσωτερικές συμβάσεις ονομασίας διαφορετικών οργανισμών. Τέτοιες συμβάσεις ονομασίας μπορεί να χρησιμοποιούν τη σύνθεση συγκεκριμένων ονομάτων καταλόγου για να διακρίνουν τμήματα, έργα, μηχανήματα ή ονόματα σύνδεσης. | com.sun.eng com.apple.quicktime.v2 edu.cmu.cs.bovik.cheese |
Τάξεις | Κανόνες ονοματοδοσίας: Το όνομα της τάξης είναι ουσιαστικό, χρησιμοποιώντας μεικτά πεζά, με κεφαλαίο το πρώτο γράμμα κάθε λέξης. Προσπαθήστε να διατηρείτε τα ονόματα της τάξης σας συνοπτικά και περιγραφικά. Χρησιμοποιήστε πλήρεις λέξεις, αποφύγετε τις συντομογραφίες (εκτός εάν η συντομογραφία χρησιμοποιείται ευρύτερα, όπως URL, HTML) | τάξη Raster; κλάση ImageSprite; |
Διεπαφές | Κανόνες ονομασίας: Οι κανόνες πεζών είναι παρόμοιοι με τα ονόματα κλάσεων | διεπαφή RasterDelegate; Διασύνδεση αποθήκευσης? |
Μέθοδοι | Το όνομα της μεθόδου είναι ένα ρήμα, σε μικτή περίπτωση, με το πρώτο γράμμα της πρώτης λέξης πεζό και το πρώτο γράμμα των επόμενων λέξεων κεφαλαίο.Ονομασία θήκης καμήλας | τρέξιμο(); Τρέξε γρήγορα(); getBackground(); |
Μεταβλητές | Εκτός από τα ονόματα των μεταβλητών, όλα τα στιγμιότυπα, συμπεριλαμβανομένων των κλάσεων και των σταθερών κλάσεων, είναι σε μικτά γράμματα, με το πρώτο γράμμα της πρώτης λέξης να είναι πεζό και το πρώτο γράμμα των επόμενων λέξεων να είναι κεφαλαίο. Τα ονόματα των μεταβλητών δεν πρέπει να ξεκινούν με υπογράμμιση ή σύμβολο δολαρίου, αν και αυτό επιτρέπεται συντακτικά. Τα ονόματα των μεταβλητών πρέπει να είναι σύντομα και περιγραφικά. Τα ονόματα των μεταβλητών θα πρέπει να επιλέγονται έτσι ώστε να θυμούνται εύκολα, δηλαδή να δηλώνουν τον σκοπό τους. | Λίστα<User> UserList; Όνομα χρήστη συμβολοσειράς; |
Σταθερές | Οι δηλώσεις των σταθερών κλάσης και των σταθερών ANSI πρέπει να είναι με κεφαλαία γράμματα, με λέξεις διαχωρισμένες με κάτω παύλες. (Προσπαθήστε να αποφύγετε τις σταθερές ANSI, οι οποίες μπορούν εύκολα να προκαλέσουν σφάλματα) | στατικό τελικό int MIN_WIDTH = 4; στατικό τελικό int MAX_WIDTH = 999; στατικό τελικό int GET_THE_CPU = 1; |
α) GET: Λάβετε πόρους από τον διακομιστή. (μπορεί να προβληθεί ως επιλεγμένη λειτουργία)β) ΑΝΑΡΤΗΣΗ: Δημιουργήστε έναν νέο πόρο στον διακομιστή. (μπορεί να θεωρηθεί ως λειτουργία εισαγωγής)γ) PUT: Ενημέρωση πόρων στον διακομιστή. (μπορεί να προβληθεί ως λειτουργία ενημέρωσης)δ) ΔΙΑΓΡΑΦΗ: Διαγραφή πόρων από τον διακομιστή. (μπορεί να θεωρηθεί ως λειτουργία διαγραφής)
code
:http κωδικός κατάστασης message
: Αντίστοιχες πληροφορίες περιγραφής κειμένου data
list
dict
- {
- "code": 200,
- "message": "new user has created",
- "data": {
- "id": "user-4d51faba-97ff-4adf-b256-40d7c9c68103",
- "firstName": "crifan",
- "lastName": "Li",
- "password": "654321",
- "phone": "13511112222",
- "createdAt": "2016-10-24T20:39:46",
- "updatedAt": "2016-10-24T20:39:46"
- ......
- }
- }
(3) Κωδικός κατάστασης απόκρισης
Λάθος:
2XX επιτυχία
200 εντάξει (το αίτημα επιτυχής)
204 κανένα περιεχόμενο (το αίτημα ήταν επιτυχές, αλλά δεν επιστράφηκε κανένα αποτέλεσμα)
206 μερικό περιεχόμενο (ο πελάτης ζητά ένα μέρος του πόρου, ο διακομιστής ανταποκρίνεται με επιτυχία και επιστρέφει μια σειρά πόρων)
3XX ανακατεύθυνση
301 μετακίνηση μόνιμα (μόνιμη ανακατεύθυνση)
Βρέθηκαν 302 (προσωρινή ανακατεύθυνση)
303 δείτε άλλα (υποδεικνύει ότι επειδή υπάρχει άλλο URI για τον πόρο που αντιστοιχεί στο αίτημα, θα πρέπει να χρησιμοποιηθεί το GET
Μέθοδος που κατευθύνεται για την απόκτηση του ζητούμενου πόρου)
304 δεν τροποποιήθηκε (υποδεικνύει ότι όταν ο πελάτης χρησιμοποιεί πρόσβαση υπό όρους σε έναν πόρο, ο διακομιστής βρίσκει τον πόρο, αλλά οι συνθήκες του αιτήματος δεν πληρούν τις προϋποθέσεις. Δεν έχει καμία σχέση με την ανακατεύθυνση)
307 προσωρινή ανακατεύθυνση (ίδια έννοια με το 302)
4XX σφάλμα πελάτη
400 κακό αίτημα (υπάρχει συντακτικό σφάλμα στο μήνυμα αιτήματος)
401 μη εξουσιοδοτημένο (απαιτείται έλεγχος ταυτότητας (πρώτη επιστροφή) ή ο έλεγχος ταυτότητας απέτυχε (δεύτερη επιστροφή))
403 απαγορευμένο (το αίτημα απορρίφθηκε από τον διακομιστή)
404 δεν βρέθηκε (ο ζητούμενος πόρος δεν μπορεί να βρεθεί στον διακομιστή)
Σφάλμα διακομιστή 5XX
500 εσωτερικό σφάλμα διακομιστή (παρουσιάστηκε σφάλμα όταν ο διακομιστής εκτέλεσε το αίτημα)
Η υπηρεσία 503 δεν είναι διαθέσιμη (ο διακομιστής είναι υπερφορτωμένος ή εκτός λειτουργίας για συντήρηση και δεν μπορεί να χειριστεί το αίτημα)
εικονογραφώ: Το προεπιλεγμένο όριο του nginx είναι 1 MB και το προεπιλεγμένο όριο του tomcat είναι 2 MB Όταν υπάρχει επιχειρηματική ανάγκη για μεταφορά μεγαλύτερου περιεχομένου, μπορείτε να αυξήσετε το όριο από την πλευρά του διακομιστή.
εικονογραφώ: Μετά την επιτυχή εκτέλεση της δήλωσης στο μπλοκ try, δεν επιστρέφει αμέσως, αλλά συνεχίζει να εκτελεί την εντολή στο μπλοκ τελικά δοκιμάστε να μπλοκάρετε.
Σύνδεσμος: Κάντε κλικ στον σύνδεσμο για να κατεβάσετε απευθείας το apifox (απλώς κατεβάστε την πιο πρόσφατη έκδοση). Apifox - μια ολοκληρωμένη πλατφόρμα συνεργασίας για τεκμηρίωση API, εντοπισμό σφαλμάτων, κοροϊδία και δοκιμή. Διαθέτει λειτουργίες όπως διαχείριση εγγράφων διεπαφής, εντοπισμός σφαλμάτων διεπαφής, Mock και αυτοματοποιημένη δοκιμή και η αποτελεσματικότητα της ανάπτυξης, δοκιμών και κοινών εντοπισμού σφαλμάτων αυξάνεται κατά 10 φορές. Το καλύτερο εργαλείο διαχείρισης εγγράφων διεπαφής και εργαλείο δοκιμών αυτοματισμού διεπαφής.https://apifox.com/
1. Δημιουργήστε την ομάδα σας και δημιουργήστε ένα νέο έργο:
Προσκαλέστε τους συμπαίκτες σας
2. Δημιουργήστε μια νέα διεπαφή και ένα νέο μοντέλο δεδομένων:
(1) Προσδιορίστε ποιο είναι το αίτημα (ΑΝΑΡΤΗΣΗ, ΛΗΨΗ, ΤΟΠΟΘΕΤΗΣΗ, ΔΙΑΓΡΑΦΗ):
(2) Το περιβάλλον δοκιμής πρέπει να είναι ενοποιημένο και οι διευθύνσεις URL σε διαφορετικά περιβάλλοντα είναι διαφορετικές:
(3) Οι παράμετροι αιτήματος έχουν διαμορφωθεί:
Ποιες παράμετροι έχουν διαμορφωθεί. Δώστε παραδείγματα παραμέτρων, κινεζικά ονόματα και περιγραφές παραμέτρων.
(4) Η απόκριση πρέπει να διαμορφωθεί:
Για παράδειγμα, είναι απαραίτητο να προσδιορίσετε τι είδους πληροφορίες επιστρέφονται σε διαφορετικές καταστάσεις και πρέπει να υπάρχουν παραδείγματα επιτυχίας και παραδείγματα εξαιρέσεων (για τη διευκόλυνση της διεπαφής).
- {
- "code": 200,
- "message": "登入成功",
- "data": {
- "user_id": 27,
- "user_name": "孟霞",
- "user_password": "123456",
- "user_age": "15",
- "user_photo": "http://dummyimage.com/400x400",
- "user_last_time": "1996-12-11 09:03:49",
- "user_indentity": "messager",
- "user_birthday": "2024-02-23"
- }
- }
(5) Το μοντέλο δεδομένων μπορεί να δημιουργηθεί:
Μπορείτε να δημιουργήσετε πολλά μοντέλα δεδομένων, κάτι που είναι πολύ βολικό για την επιστροφή πεδίων απόκρισης και επίσης βολικό για την προβολή των πεδίων δεδομένων σας από το μπροστινό μέρος.
Οι προδιαγραφές γραφής και οι συγκεκριμένες λεπτομέρειες του apifox.
Apifox Quick Start |https://apifox.com/help/
(1) Θα πρέπει να υπάρχει μια εισαγωγή στην αρχή του εγγράφου διεπαφής API. Αυτή η ενότητα μπορεί να περιλαμβάνει τα ακόλουθα:
Ο σκοπός αυτού του μέρους είναι να αφήσει τους αναγνώστες να κατανοήσουν τη βασική κατάσταση και τις πληροφορίες παρασκηνίου της διεπαφής API.
(2) Λίστα διεπαφής
Στη συνέχεια, στο έγγραφο διεπαφής API, πρέπει να αναφέρουμε όλες τις διεπαφές. Κάθε διεπαφή πρέπει να περιέχει τις ακόλουθες πληροφορίες:
Ο σκοπός αυτής της ενότητας είναι να επιτρέψει στους αναγνώστες να κατανοήσουν γρήγορα τις βασικές πληροφορίες κάθε διεπαφής και να χρησιμοποιήσουν σωστά τις διεπαφές με βάση τα παραδείγματα του εγγράφου.
(3) Περιγραφή των παραμέτρων αιτήματος και των παραμέτρων απόκρισης
Μετά τη λίστα διεπαφής, πρέπει να αναφέρουμε λεπτομερώς τις παραμέτρους αιτήματος και τις παραμέτρους απόκρισης για κάθε διεπαφή. Αυτή η ενότητα θα πρέπει να περιλαμβάνει τις ακόλουθες πληροφορίες:
Για τύπους και μορφές παραμέτρων, μπορείτε να χρησιμοποιήσετε τυπικούς τύπους και μορφές δεδομένων ή μπορείτε να ορίσετε τους δικούς σας τύπους και μορφές δεδομένων σύμφωνα με συγκεκριμένες περιστάσεις. Το εάν οι απαιτούμενες και οι προεπιλεγμένες τιμές πρέπει να καθοριστούν με βάση την πραγματική κατάσταση.
(4) Περιγραφή κωδικού σφάλματος
Κατά τη χρήση της διεπαφής API, μερικές φορές παρουσιάζεται ένα σφάλμα Σε αυτήν την περίπτωση, πρέπει να επιστραφεί ένας κωδικός σφάλματος για να εξηγηθεί ο τύπος και η αιτία του σφάλματος. Επομένως, στην τεκμηρίωση της διεπαφής API, πρέπει να καθορίσουμε όλους τους πιθανούς κωδικούς σφάλματος. Αυτή η ενότητα θα πρέπει να περιλαμβάνει τις ακόλουθες πληροφορίες:
Ο σκοπός αυτής της ενότητας είναι να κατανοήσει ο αναγνώστης όλους τους πιθανούς τύπους και αιτίες σφαλμάτων και να μπορεί να χειρίζεται σωστά τα σφάλματα με βάση τα παραδείγματα της τεκμηρίωσης.
(1) Ειδικές λειτουργίες:
Ορίστε μια τάξη δοκιμής
πρόταση:
Όνομα τάξης δοκιμής: Όνομα δοκιμασμένης τάξης Test CalculatorTest
Όνομα πακέτου: xx.xx.xx.test cn.itcast.test
Ορισμός μεθόδων δοκιμής: μπορεί να εκτελεστεί ανεξάρτητα
πρόταση:
Όνομα μεθόδου: όνομα μεθόδου δοκιμής testAdd()
Επιστρεφόμενη τιμή: άκυρη
Λίστα παραμέτρων: κενές παράμετροι
Προσθέστε το @Test στη μέθοδο
Εισαγωγή περιβάλλοντος εξάρτησης Junit
αποτέλεσμα κρίσης:
Κόκκινο: απέτυχε
πράσινο: επιτυχία
Γενικά χρησιμοποιούμε τη στατική μέθοδο assertEquals(αναμενόμενο, πραγματικό) στην κλάση Assert για να χειριστούμε τα αναμενόμενα αποτελέσματα και τα αποτελέσματα εξόδου
Assert.assertEquals(3, αποτέλεσμα);
Οι δύο παράμετροι είναι: αναμενόμενη τιμή τιμή αποτελέσματος προγράμματος
Γιατί να χρησιμοποιήσετε το Assert.assertEquals(αναμενόμενο, πραγματικό) για την επεξεργασία των αποτελεσμάτων των δοκιμών;
Διότι ορίζουμε ότι το κόκκινο αντιπροσωπεύει την αποτυχία και το πράσινο την ορθότητα. Όταν χρησιμοποιούμε μια μέθοδο δοκιμής για να ελέγξουμε τη μέθοδο προσθήκης ενός υπολογιστή, βγάζουμε μόνο αυτό το αποτέλεσμα (υποθέτοντας ότι δεν υπάρχει εξαίρεση). Εάν εισάγουμε 1 και 3, αναμένουμε να πάρουμε το αποτέλεσμα 4, αλλά αυτό που βγάζουμε είναι 2 και αυτό που περιμένουμε να πάρουμε είναι 4. Το αποτέλεσμα που λαμβάνεται αυτή τη στιγμή δεν ανταποκρίνεται στις προσδοκίες μας, αλλά το αποτέλεσμα εκτέλεσης είναι ακόμα πράσινο (που αντιπροσωπεύει το σωστό), δεν είναι σωστό αυτή τη στιγμή, μπορούμε να χρησιμοποιήσουμε τη μέθοδο assertEquals στο τέλος για να συγκρίνουμε την αναμενόμενη τιμή και την τιμή του αποτελέσματος που προκύπτει από το πρόγραμμα, εάν είναι ίσες, θα είναι πράσινη αν δεν είναι ίσα, θα είναι κόκκινο. Αυτή η φορά ανταποκρίνεται στον ορισμό μας για το πράσινο και το κόκκινο;
- package cn.itcast.test;
-
- import cn.itcast.junit.Calculator;
- import org.junit.Assert;
- import org.junit.Test;
-
- public class CalculatorTest {
- /**
- * 测试add方法
- */
- @Test
- public void testAdd(){
- Calculator c = new Calculator();
- int a = 1, b = 2;
- int result = c.add(1, 2);
- Assert.assertEquals(3, result);
- }
-
- /**
- * 测试sub方法
- */
- @Test
- public void testSub(){
- Calculator c = new Calculator();
- int a = 1, b = 2;
- int result = c.sub(1, 2);
- Assert.assertEquals(-1, 2);
- }
- }
-
@Πριν
Προσθήκη @Before πριν από μια μέθοδο δοκιμής και γίνεται μέθοδος προετοιμασίας Αυτή η μέθοδος θα εκτελεστεί αυτόματα πριν από την εκτέλεση όλων των μεθόδων δοκιμής Χρησιμοποιείται γενικά για την εφαρμογή πόρων.
@Μετά
Προσθέστε το @After πριν από μια μέθοδο δοκιμής και γίνεται μέθοδος απελευθέρωσης πόρων, η οποία θα εκτελεστεί αυτόματα αφού εκτελεστούν όλες οι μέθοδοι δοκιμής.
Η μέθοδος που είναι διακοσμημένη με @Before θα εκτελεστεί πριν από την εκτέλεση της μεθόδου δοκιμής.
Η μέθοδος που είναι διακοσμημένη με @After θα εκτελεστεί μετά την εκτέλεση της μεθόδου δοκιμής.
Οι μέθοδοι που έχουν τροποποιηθεί με @Before ή @After θα εκτελεστούν ανεξάρτητα από το εάν η μέθοδος δοκιμής εμφανίζεται.
(2) Αυτόματη δημιουργία προσθηκών κλάσης δοκιμής
(1) Όταν γράφετε το έγγραφο διεπαφής στο πίσω μέρος, θα πρέπει να είναι γραμμένο με σαφήνεια και σαφήνεια, ώστε το μπροστινό σας άκρο να μπορεί να το κατανοήσει .
(2) Εκτός από αυτά που διδάσκονται, μπορείτε να μάθετε μερικά άλλα πράγματα μόνοι σας, όπως εγγραφή επαλήθευσης email, σύνδεση κωδικού επαλήθευσης, κρυπτογράφηση c3p0, MD5, αρχεία καταγραφής, στυλ αποτελεσμάτων κ.λπ.
(3) Η γραφή κώδικα πρέπει επίσης να είναι τυποποιημένη και η λογική πρέπει να είναι αυστηρή (cookie, session) όπου χρειάζεται κενή κρίση, πρέπει να γίνεται κενή κρίση και όπου μπορεί να αυξηθεί η ασφάλεια.
(4) Το μπροστινό μέρος και το πίσω μέρος πρέπει να συνεργάζονται καλά. Η διαδραστική απόκριση του front-end και του back-end αποτελεί επίσης μέρος της αξιολόγησης, που αντιπροσωπεύει ένα μεγάλο μέρος Η διεπαφή που γράψατε δεν μπορεί να εκτελεστεί μόνο μέσω του apifox. Υπάρχουν σφάλματα όταν παρουσιάζονται στη συγκεκριμένη σελίδα Υπάρχουν λογικά προβλήματα, κ.λπ. Ίσως χρειαστεί να εξεταστούν.
(5) Κατά τη διάρκεια της ανάλυσης ζήτησης, ορίστε τις λειτουργίες και τις διεπαφές που θέλετε να κάνετε διεπαφές/δεδομένα , αν δεν γράψατε εσείς, σκεφτείτε προσεκτικά και επικοινωνήστε περισσότερο.
Μπορείτε να κάνετε σύγκριση με έργα που πραγματικά λειτουργούν ή κάτι παρόμοιο, όπως ένας ιστότοπος αγορών. Στη συνέχεια, θα πρέπει να κάνετε σύγκριση με το Taobao τις διεπαφές υποστήριξης που μπορεί να έχει αυτός ο ιστότοπος, τις λειτουργικές μονάδες που μπορεί να έχει και τις συγκεκριμένες λεπτομέρειες.
(6) Μην επιδιώκετε τυφλά περισσότερο, να είστε λογικοί και λογικοί και μάθετε να απλοποιείτε τα μέρη που μπορούν να απλοποιηθούν. Αλλά ο βασικός αριθμός διεπαφών και ο όγκος του κώδικα πρέπει επίσης να είναι εγγυημένοι. (Οι διεπαφές που γράψαμε αρχικά ήταν βασικά περισσότερες από 40)