Σε αυτό το σεμινάριο δοκιμών μονάδας JavaScript, θα μάθουμε:
Τι είναι το JavaScript;
- Το JavaScript είναι μια γλώσσα προγραμματισμού που ορίζεται ως γλώσσα υψηλού επιπέδου, δυναμική και ερμηνευμένη που χρησιμοποιείται με εφαρμογές ιστού HTML
- Το JavaScript χρησιμοποιείται επίσης για άλλα εκτός από έγγραφα ιστού, όπως PDF και γραφικά στοιχεία επιτραπέζιου υπολογιστή και έγινε δημοφιλές για εφαρμογές ιστού από διακομιστή
- Το JavaScript είναι σενάριο βασισμένο σε αντικείμενα και ακολουθεί το πρωτότυπο
Δοκιμή μονάδας JavaScript
Το JavaScript Unit Testing είναι μια μέθοδος δοκιμής στην οποία ο κώδικας δοκιμής JavaScript που γράφτηκε για μια ιστοσελίδα ή μια ενότητα εφαρμογών ιστού συνδυάζεται με HTML ως ενσωματωμένο πρόγραμμα χειρισμού συμβάντων και εκτελείται στο πρόγραμμα περιήγησης για να ελέγξει εάν όλες οι λειτουργίες λειτουργούν καλά. Αυτά τα τεστ μονάδας οργανώνονται στη συνέχεια στη δοκιμαστική σουίτα.
Κάθε σουίτα περιέχει έναν αριθμό δοκιμών που έχουν σχεδιαστεί για να εκτελούνται για μια ξεχωριστή ενότητα. Το πιο σημαντικό, δεν έρχονται σε διένεξη με καμία άλλη ενότητα και τρέχουν με λιγότερες εξαρτήσεις μεταξύ τους (ορισμένες κρίσιμες καταστάσεις μπορεί να προκαλέσουν εξαρτήσεις).
Προκλήσεις στη δοκιμή μονάδας JavaScript
Υπάρχουν ορισμένα προβλήματα που μπορεί κανείς να βρει κατά την εκτέλεση δοκιμών μονάδας σε JavaScript όπως:
- Πολλές άλλες γλώσσες υποστηρίζουν δοκιμές μονάδων σε προγράμματα περιήγησης, τόσο στο σταθερό όσο και στο περιβάλλον εκτέλεσης, αλλά το JavaScript δεν μπορεί
- Μπορείτε να κατανοήσετε ορισμένες ενέργειες συστήματος με άλλες γλώσσες, αλλά αυτό δεν συμβαίνει με το JavaScript
- Ορισμένα JavaScript είναι γραμμένα για μια εφαρμογή Ιστού μπορεί να έχουν πολλές εξαρτήσεις
- Το JavaScript είναι καλό να χρησιμοποιείται σε συνδυασμό με HTML και CSS και όχι στον ιστό
- Δυσκολίες με την απόδοση σελίδας και χειρισμό DOM
- Μερικές φορές βρίσκετε το μήνυμα σφάλματος στην οθόνη σας σχετικά με το "Δεν είναι δυνατή η φόρτωση του example.js" ή οποιοδήποτε άλλο σφάλμα JavaScript σχετικά με τον έλεγχο έκδοσης, αυτές οι ευπάθειες εμπίπτουν στο Unit Testing JavaScript.
Για να αποφύγετε τέτοια ζητήματα, αυτό που μπορείτε να κάνετε είναι:
- Μην χρησιμοποιείτε καθολικές μεταβλητές
- Μην χειρίζεστε προκαθορισμένα αντικείμενα
- Σχεδίαση βασικών λειτουργιών με βάση τη βιβλιοθήκη
- Προσπαθήστε να δημιουργήσετε μικρά κομμάτια λειτουργιών με μικρότερες εξαρτήσεις
Καλύτερα πλαίσια δοκιμής μονάδας JavaScript
Ακολουθεί μια επιμελημένη λίστα δημοφιλών Πλαισίων και Εργαλείων Δοκιμής Μονάδας JavaScript που χρησιμοποιούνται ευρέως:
1. Unit.js: Είναι γνωστή ως βιβλιοθήκη ισχυρισμών ανοιχτού κώδικα που εκτελείται σε πρόγραμμα περιήγησης και Node.js. Είναι εξαιρετικά συμβατό με άλλα πλαίσια δοκιμής μονάδας JavaScript όπως Mocha, Karma, Jasmine, QUnit, Protractor κ.λπ. Παρέχει το πλήρες τεκμηριωμένο API της λίστας ισχυρισμών
2. QUnit: Χρησιμοποιείται τόσο για δοκιμή μονάδας JavaScript όσο και από διακομιστή. Αυτό το δωρεάν πλαίσιο δοκιμών JavaScript χρησιμοποιείται για έργα jQuery. Ακολουθεί την προδιαγραφή Common JS unit testing για δοκιμές μονάδας σε JavaScript. Υποστηρίζει το πρόγραμμα μακροπρόθεσμης υποστήριξης κόμβων.
3. Jasmine: Το Jasmine είναι το πλαίσιο ανάπτυξης που βασίζεται στη συμπεριφορά για τη δοκιμή μονάδας JavaScript. Χρησιμοποιείται για τη δοκιμή τόσο συγχρονισμένου όσο και ασύγχρονου κώδικα JavaScript. Δεν απαιτεί DOM και συνοδεύεται από την εύκολη σύνταξη που μπορεί να γραφτεί για οποιαδήποτε δοκιμή.
4. Κάρμα: Το Κάρμα είναι ένα παραγωγικό περιβάλλον δοκιμών ανοιχτού κώδικα. Εύκολος έλεγχος ροής εργασίας Εκτελείται στη γραμμή εντολών. Προσφέρει την ελευθερία να γράψετε τις δοκιμές με Jasmine, Mocha και QUnit. Μπορείτε να εκτελέσετε τη δοκιμή σε πραγματικές συσκευές με εύκολο εντοπισμό σφαλμάτων.
5. Mocha: Το Mocha εκτελείται στο Node.js και στο πρόγραμμα περιήγησης. Ο Mocha εκτελεί ασύγχρονες δοκιμές με απλούστερο τρόπο. Παρέχει ακρίβεια και ευελιξία στην αναφορά. Παρέχει τεράστια υποστήριξη πλούσιων λειτουργιών, όπως χρονικά όρια για συγκεκριμένες δοκιμές, JavaScript API κ.λπ.
6. Jest: Το Jest χρησιμοποιείται από το Facebook μέχρι στιγμής για τη δοκιμή όλου του κώδικα JavaScript. Παρέχει την εμπειρία δοκιμής «μηδενικής διαμόρφωσης». Υποστηρίζει ανεξάρτητο και μη διακοπτόμενο τρέξιμο δοκιμής χωρίς διένεξη. Δεν απαιτείται καμία άλλη ρύθμιση παραμέτρων και βιβλιοθήκες.
7. AVA: Το AVA είναι ένα απλό πλαίσιο δοκιμών μονάδας JavaScript. Οι δοκιμές διεξάγονται παράλληλα και σειριακά. Οι παράλληλες δοκιμές εκτελούνται χωρίς να διακόπτονται μεταξύ τους. Το AVA υποστηρίζει επίσης ασύγχρονες δοκιμές. Το AVA χρησιμοποιεί υποεπεξεργασίες για να εκτελέσει το JavaScript δοκιμής μονάδας.
Περίληψη
- Το JavaScript Unit Testing μπορεί να γίνει κουραστικό και δύσκολο μερικές φορές καθώς εκτελείται για το front-end βασικά. Κάποιος μπορεί να χρησιμοποιήσει τις βιβλιοθήκες JS για να προσθέσει λίγη ευκολία. Η πρόκληση μπορεί να γίνει μεγαλύτερη καθώς το JavaScript ενσωματώνεται με το Node.js και το TypeScript.
- Θα πρέπει να έχετε κατά νου τρία πράγματα κατά την εκτέλεση του τεστ όπως: Η δυνατότητα που πρέπει να δοκιμαστεί, η τελική έξοδος και η αναμενόμενη έξοδος. Ορισμένα εργαλεία και πλαίσιο δοκιμών JavaScript μπορεί να σας βοηθήσουν στην εκτέλεση αυτής της εργασίας. Οι παραπάνω λίστες εργαλείων αναφέρονται με τα πιο δημοφιλή και χρήσιμα πλαίσια που χρησιμοποιούνται για το Unit Testing JavaScript.
- Περισσότερα από αυτά με τις επερχόμενες προκλήσεις στην εκτέλεση δοκιμών εκεί, μερικά πιο ισχυρά πλαίσια και εργαλεία μπορεί να εξελιχθούν στο μέλλον.