karma tutorial front end unit testing using karma test runner
Αυτό το σεμινάριο εξηγεί πώς να ρυθμίσετε το Karma & Αυτοματοποίηση δοκιμής μονάδας Front-End με χρήση του Karma, Βασικές επιλογές διαμόρφωσης για το αρχείο Karma.conf.js κ.λπ .:
Αυτό το σεμινάριο εξηγεί τη διαδικασία αυτοματοποίησης του Unit Testing της διεπαφής του λογισμικού χρησιμοποιώντας το Karma και ορισμένα από τα σχετικά εργαλεία του.
Θα ξεκινήσουμε με εφαρμογές ιστού που έχουν αναπτυχθεί χρησιμοποιώντας βιβλιοθήκη JavaScript: «Jquery» και χρόνου εκτέλεσης JavaScript: ‘NodeJS’; και αργότερα θα εξετάσουμε μερικά πλαίσια JavaScript όπως το AngularJS και το ReactJS.
=>ΜΕΤΑΚΙΝΗΘΕΙΤΕ ΠΡΟΣ ΤΑ ΚΑΤΩγια να δείτε ολόκληρη τη λίστα των Karma Tutorials
Τι θα μάθετε:
- Λίστα μαθημάτων Karma
- Επισκόπηση των μαθημάτων Karma σε αυτήν τη σειρά
- Τι είναι η δοκιμή μονάδας front-end;
- Τι είναι ο δοκιμαστικός δρομέας Karma;
- Τι είναι το NodeJS;
- Πώς να εγκαταστήσετε το Κάρμα;
- Ερωτήσεις Karma init
- συμπέρασμα
Λίστα μαθημάτων Karma
Εκμάθηση # 1: Tutorial Karma: Δοκιμή μονάδας Front-End με χρήση του Runner Test Karma
Εκμάθηση # 2: Tutorial Framework γιασεμί που περιλαμβάνει Jasmine Jquery με παραδείγματα
Εκμάθηση # 3: Δείγμα έργου σε δοκιμή μονάδας Front-End με χρήση KARMA και JASMINE
Επισκόπηση των μαθημάτων Karma σε αυτήν τη σειρά
Εκμάθηση # | Τι θα μάθετε |
---|---|
Εκμάθηση_ # 1: | Tutorial Karma: Δοκιμή μονάδας Front-End με χρήση του Runner Test Karma Αυτό το εισαγωγικό σεμινάριο εξηγεί τα πάντα σχετικά με τον τρόπο ρύθμισης του Karma & αυτοματοποίησης δοκιμής μονάδας Front-End χρησιμοποιώντας το Karma, βασικές επιλογές διαμόρφωσης για το αρχείο Karma.conf.js κ.λπ. |
Εκμάθηση_ # 2: | Tutorial Framework γιασεμί που περιλαμβάνει Jasmine Jquery με παραδείγματα Αυτό το σεμινάριο καλύπτει το Jasmine Testing Framework & τις κατασκευές του. Μάθετε επίσης για το πακέτο Jasmine-Jquery που επεκτείνει το Jasmine έως το Test Jquery Applications. |
Εκμάθηση_ # 3: | Δείγμα έργου σε δοκιμή μονάδας Front-End με χρήση KARMA και JASMINE Αυτό το σεμινάριο δείχνει πώς να γράψετε δοκιμαστικές προδιαγραφές για ένα δείγμα έργου χρησιμοποιώντας το Karma & Jasmine. Θα μάθετε επίσης γρήγορα πώς να χρησιμοποιείτε άλλα εργαλεία όπως το gulp, το browserify. |
Τι είναι η δοκιμή μονάδας front-end;
Το εμπρόσθιο άκρο οποιουδήποτε συστήματος λογισμικού είναι απλώς η διεπαφή όπου ο χρήστης έχει πρόσβαση σε όλες τις λειτουργίες που παρέχει το σύστημα. Για να διασφαλιστεί η καλύτερη εμπειρία χρήστη, υπάρχει ανάγκη να διασφαλιστεί ότι οι προγραμματιστές front-end έχουν κωδικοποιήσει το front-end, έχοντας κατά νου όλες τις απαιτήσεις χρήστη.
Ο μόνος τρόπος για να επιβληθεί αυτό είναι να γράψετε και να εκτελέσετε δοκιμές στους κωδικούς του προγραμματιστή. Το παραδοτέο θα πρέπει να γίνει αποδεκτό ως ποιοτικός κωδικός / χαρακτηριστικό γνώρισμα μόνο όταν όλα αυτά τα αποτελέσματα των δοκιμών βρίσκονται στην κατάσταση «pass».
Ο έλεγχος μονάδας είναι ένα είδος μεθόδου δοκιμής λογισμικού στην οποία κάθε άτομο και ανεξάρτητο μέρος του πηγαίου κώδικα δοκιμάζεται για να διαπιστωθεί ότι είναι αρκετά καλό για χρήση.
Οταν εμείς εκτελέστε αυτόν τον έλεγχο μονάδας στο front-end (client-side) του λογισμικού, ονομάζεται front-end unit testing. Το αντίθετο των δοκιμών front-end είναι back-end testing (server-side).
Η δοκιμή μονάδας front-end μπορεί να πραγματοποιηθεί χειροκίνητα ή αυτόματα. Οι αυτοματοποιημένες δοκιμές μονάδας front-end είναι σε τάση αυτές τις μέρες, καθώς είναι πιο αποτελεσματικές και εξοικονομούν χρόνο. Υπάρχουν διάφορα εργαλεία που είναι διαθέσιμα για δοκιμές μονάδων front-end σε διαφορετικές πλατφόρμες προγραμματισμού.
Το AngularJS και το ReactJS είναι δύο δημοφιλή πλαίσια JavaScript front-end, αν και το ReactJS είναι αρκετά νέο.
Για τη διεξαγωγή δοκιμών μονάδας σε μια εφαρμογή, χρησιμοποιούνται τα μπροστινά άκρα που έχουν κατασκευαστεί με αυτά τα πλαίσια εμπρός-άκρου ή ακόμη και αυτά που έχουν κατασκευαστεί χωρίς τα πλαίσια, χρησιμοποιούνται ορισμένα εργαλεία δοκιμής αυτοματισμού, όπως Karma, mocha, Jasmine, jest, ένζυμο κ.λπ.
Πρώτον, θα μάθαμε πώς να διεξάγουμε δοκιμές μονάδας front-end χρησιμοποιώντας Karma και Jasmine και στη συνέχεια, αργότερα, μπορούμε να ρίξουμε μια ματιά και στα άλλα εργαλεία.
Θα ξεκινήσουμε με την εκτέλεση δοκιμών μονάδας front-end χρησιμοποιώντας φωτιστικά για front-end κατασκευασμένα χωρίς κανένα από τα πλαίσια JavaScript για front-end. Συνολικά, θα χωρίσουμε τις γνώσεις μας σε αυτήν τη σειρά σε τρία μαθήματα.
Σε αυτό το πρώτο σεμινάριο, θα προσπαθούσαμε να κατανοήσουμε πώς ρυθμίζεται το Κάρμα, το δεύτερο σεμινάριο θα εξηγήσει λεπτομερώς την Jasmine, τέλος, στο τρίτο σεμινάριο, θα εξετάσουμε την πρακτική εφαρμογή του.
Τι είναι ο δοκιμαστικός δρομέας Karma;
Το Karma είναι ένα εργαλείο δοκιμής βασισμένο σε κόμβους που σας επιτρέπει να δοκιμάσετε τους κώδικες JavaScript σε πολλά πραγματικά προγράμματα περιήγησης. Ένα εργαλείο που βασίζεται σε κόμβους είναι οποιοδήποτε εργαλείο που χρειάζεται τον κινητήρα Nodejs εγκατεστημένο για να λειτουργεί και μπορεί να έχει πρόσβαση (εγκατεστημένο) μέσω του διαχειριστή πακέτων κόμβων (npm).
Το Karma είναι ένα εργαλείο που κάνει τη δοκιμαστική μας ανάπτυξη γρήγορη, διασκεδαστική και εύκολη. Τεχνικά ονομάζεται δοκιμαστής. Αξίζει να σημειωθεί εδώ ότι το Κάρμα αναπτύχθηκε από την ομάδα Angular.
Πώς λειτουργεί το Κάρμα ως δοκιμαστής;
Ως δοκιμαστής, ο Κάρμα κάνει τρία σημαντικά πράγματα:
- Ξεκινά έναν διακομιστή ιστού και εξυπηρετεί την πηγή JavaScript και τα δοκιμαστικά αρχεία σε αυτόν τον διακομιστή.
- Φορτώνει όλα τα αρχεία προέλευσης και δοκιμής με τη σωστή σειρά.
- Τέλος, περιστρέφεται τα προγράμματα περιήγησης για να εκτελέσουν τις δοκιμές.
Τι άλλο μπορεί να κάνει το Κάρμα;
Εκτός από τις παραπάνω λειτουργίες του Karma, υπάρχουν και μερικά άλλα πράγματα που μπορεί να διαμορφωθεί για να κάνει το Karma. Για παράδειγμα, για να δημοσιεύσετε κάλυψη δοκιμής κώδικα σε coveralls.io ; μεταδώστε έναν κώδικα από τη μορφή es6 σε es5, συνδυάζοντας πολλά αρχεία μαζί σε ένα αρχείο και δημιουργήστε χάρτες πηγής.
Στα επόμενα σεμινάρια μας, θα δούμε πώς λειτουργούν ορισμένα από αυτά τα πράγματα.
Απαιτήσεις για να ξεκινήσετε με το κάρμα
Για να ξεκινήσετε με το Karma, πρέπει να έχετε κατανόηση του NodeJS και του διαχειριστή πακέτων Node.
Τι είναι το NodeJS;
Το Nodejs επιλύει τη φύση αποκλεισμού των ασύγχρονων κλήσεων JavaScript, δηλαδή όταν μια ασύγχρονη λειτουργία έχει πρόσβαση σε JavaScript, εμποδίζει την εκτέλεση των άλλων τμημάτων του κώδικα έως ότου επιστρέψει η ασύγχρονη κλήση. Ωστόσο, με το NodeJS, μπορούν να γίνουν ασύγχρονες κλήσεις χωρίς αποκλεισμό.
Από τεχνικής απόψεως, το NodeJS μπορεί να θεωρηθεί ως ασύγχρονος χρόνος εκτέλεσης JavaScript που βασίζεται σε συμβάντα που καθιστά εύκολη και δυνατή την κατασκευή επεκτάσιμων δικτύων εφαρμογών.
Ξεκινώντας με το NodeJS
Απλά πρέπει να εγκαταστήσετε το πλαίσιο NodeJS. Το μόνο που χρειάζεται να κάνετε είναι να επισκεφτείτε τους δικτυακός τόπος και, με βάση το λειτουργικό σας σύστημα, πρέπει να κατεβάσετε το πρόγραμμα εγκατάστασης και να ακολουθήσετε τις οδηγίες στον ιστότοπό του σχετικά με την εγκατάστασή του.
Τι είναι το Node Package Manager (Npm);
Ο διαχειριστής πακέτων κόμβων (npm) είναι ένας διαχειριστής πακέτων JavaScript που χρησιμοποιείται για την εγκατάσταση άλλων προεγκατεστημένων εφαρμογών ή λειτουργικών μονάδων που βασίζονται σε κόμβους που μπορεί να θέλετε να χρησιμοποιήσετε ξανά στη δική σας εφαρμογή.
Το Npm εγκαθίσταται κατά την εγκατάσταση του NodeJS, αλλά το npm ενημερώνεται ταχύτερα από τον κόμβο. Ως εκ τούτου, ενδέχεται να χρειαστεί να ενημερώσετε το npm σας κάποια στιγμή. Για να εγκαταστήσετε την τελευταία έκδοση του npm, πρέπει να εκτελέσετε αυτήν την εντολή από τη γραμμή εντολών σας: npm εγκατάσταση npm @ τελευταία -g
Η παραπάνω εντολή υποδεικνύει ότι ζητάτε από το κέλυφος του OS να εκτελέσει την εφαρμογή npm και η εφαρμογή θα πρέπει να εκτελέσει την εγκατάσταση του πακέτου npm. Το @latest υποδεικνύει ότι πρέπει να εγκατασταθεί η τελευταία έκδοση του πακέτου, η επιλογή -g υποδεικνύει ότι το πακέτο πρέπει να εγκατασταθεί παγκοσμίως.
Μπορείτε να βρείτε περισσότερες λεπτομέρειες σχετικά με το npm εδώ .
Υπάρχουν δύο σημαντικά πράγματα που πρέπει να αναφερθούν εδώ, δηλαδή η εγκατάσταση ενός πακέτου με την επιλογή -save και -save-dev.
Κατά τη διάρκεια των δοκιμών, οποιοδήποτε εγκατεστημένο πακέτο θα πρέπει να εγκατασταθεί χρησιμοποιώντας την επιλογή –save-dev, δηλαδή να δώσει εντολή στον διαχειριστή πακέτων να εγκαταστήσει το πακέτο ως εξάρτηση ανάπτυξης και όχι ως εξάρτηση έργου (όταν χρησιμοποιώ –save).
Η εξάρτηση από την ανάπτυξη πρέπει να επιλέγεται καθώς το πακέτο δεν απαιτείται από την εφαρμογή κατά τη φάση παραγωγής αλλά απαιτείται μόνο κατά τη φάση ανάπτυξης για λόγους διασφάλισης ποιότητας.
Πώς να εγκαταστήσετε το Κάρμα;
Για να ξεκινήσετε με το Karma, πρέπει να δημιουργήσετε ένα φάκελο για το έργο για το οποίο πρόκειται να γράψετε τις δοκιμές μονάδας. Μπορείτε να το ονομάσετε σαν 'basicUT'. Χρησιμοποιώ το Visual Studio Code ως πρόγραμμα επεξεργασίας κειμένου, επομένως σας προτείνω επίσης να το κατεβάσετε και να το εγκαταστήσετε. Μπορείτε να το βρείτε εδώ .
Ανοίξτε το ενσωματωμένο παράθυρο τερματικού του Visual Studio code, κάντε κλικ στο 'Προβολή μενού' και, στη συνέχεια, επιλέξτε το ενσωματωμένο υπομενού τερματικού.
Στο παράθυρο τερματικού, πληκτρολογήστε «npminit» όπως φαίνεται στο παρακάτω σχήμα. Αυτή η εντολή σάς καθοδηγεί να ρυθμίσετε αυτόματα το αρχείο 'package.json' το οποίο πρέπει να έχει κάθε εφαρμογή που βασίζεται σε κόμβους.
Το αρχείο package.json αποθηκεύει πληροφορίες σχετικά με την εφαρμογή σας, όπως το όνομα, τον αριθμό έκδοσης, τον συντάκτη, τις εξαρτήσεις εφαρμογών, τις εξαρτήσεις ανάπτυξης, τη δοκιμαστική εντολή ή το σενάριο και το σενάριο για να ξεκινήσετε την εφαρμογή ή να δημιουργήσετε την εφαρμογή σε μια τρέξιμη φόρμα.
Κάντε κλικ εδώ για περισσότερες λεπτομέρειες σχετικά με το αρχείο 'package.json'.
Στιγμιότυπο οθόνης της αρχικοποίησης ενός αρχείου package.json χρησιμοποιώντας το npminit
Όπως περιγράφεται παραπάνω, για να εγκαταστήσετε το Karma, το μόνο που χρειάζεστε είναι να εκτελέσετε την εντολή npm εγκαταστήστε το Karma @ τελευταίο –save-dev . Ελπίζω ότι τώρα μπορείτε να ερμηνεύσετε τι σημαίνει αυτή η εντολή.
Τώρα, έχουμε εγκαταστήσει με επιτυχία το Karma, ποιο είναι το επόμενο πράγμα που πρέπει να κάνετε για να χρησιμοποιήσετε το Karma για τη δοκιμή μονάδας front-end;
Το μόνο που χρειάζεται να κάνετε είναι να γράψετε το αρχείο διαμόρφωσης για αυτό και το αρχείο ονομάζεται συνήθως Karma.conf.js για JavaScript. Ωστόσο, είναι διαφορετικό για το CoffeeScript. Κάντε κλικ εδώ για να εξερευνήσετε περισσότερα σχετικά με το αρχείο διαμόρφωσης Karma.
Επισκόπηση των επιλογών διαμόρφωσης αρχείων Karma.conf.js
Το αρχείο διαμόρφωσης Karma.conf.js πρέπει να περιέχει τις οδηγίες εγκατάστασης που πρέπει να ακολουθήσει ο Κάρμα για να εκτελέσει τις τρεις σημαντικές λειτουργίες του Κάρμα.
Αυτό το αρχείο διαμόρφωσης μπορεί να δημιουργηθεί χειροκίνητα ή αυτόματα χρησιμοποιώντας την εντολή: 'karma init', η οποία αρχίζει να εμφανίζει διαφορετικές ερωτήσεις για να απαντήσετε και το Karma χρησιμοποιεί τις απαντήσεις που παρέχετε για τη ρύθμιση του αρχείου διαμόρφωσης.
Θα έχετε ήδη ανακαλύψει ότι η εκτέλεση της εντολής: 'karma init', δίνει το σφάλμα ' Το «Karma» δεν αναγνωρίζεται ως πρόγραμμα ή αρχείο δέσμης με δυνατότητα εσωτερικής ή εξωτερικής εντολής '.
Αυτό συμβαίνει επειδή το Κάρμα εγκαταστάθηκε τοπικά και όχι σε παγκόσμιο επίπεδο στο έργο στο οποίο εργάζεστε. Ως εκ τούτου, το κέλυφος του λειτουργικού σας συστήματος δεν μπορεί να βρει την εφαρμογή Karma στις περιβαλλοντικές ρυθμίσεις της διαδρομής εάν χρησιμοποιείτε παράθυρα ή στο αρχείο .bash_profile εάν χρησιμοποιείτε Mac.
Για να διορθώσουμε αυτό το σφάλμα, πρέπει να εγκαταστήσουμε το Karma παγκοσμίως. Όχι μόνο το Κάρμα, αλλά το πακέτο ειδικά σχεδιασμένο για να επιτρέπει τη χρήση του Κάρμα στη γραμμή εντολών που είναι το Κάρμα-Κλι. Απλώς εκτελέστε την εντολή, ′ Npm εγκατάσταση -g karma-cli ’ .
Τώρα εκτελέστε ξανά την εντολή karma-init και μπορείτε να δείτε τις ερωτήσεις όπως φαίνεται στο παρακάτω σχήμα. Όταν απαντήσετε σε κάθε ερώτηση και πατήσετε το πλήκτρο 'ENTER', θα εμφανιστεί η επόμενη ερώτηση.
Εκτέλεση εντολής Karma init στη γραμμή εντολών.
Ο παρακάτω πίνακας θα σας δώσει μια λίστα με τις ερωτήσεις, τη σημασία τους καθώς και την απάντησή σας στο πλαίσιο αυτού του σεμιναρίου.
Ερωτήσεις Karma init
Ε # 1) Ποιο πλαίσιο δοκιμών θέλετε να χρησιμοποιήσετε;
Εξήγηση: Ένα πλαίσιο δοκιμών είναι ένα πακέτο που παρέχει τις λειτουργίες και τις ρουτίνες που απαιτούνται για την αυτοματοποίηση της διαδικασίας κωδικοποίησης δοκιμών για οποιοδήποτε προϊόν λογισμικού μιας συγκεκριμένης γλώσσας. Για παράδειγμα, Γιασεμί και μόκα δοκιμάζουν πλαίσια για πακέτα λογισμικού JavaScript, το Junit και το JTest δοκιμάζουν πλαίσια για Java, ελέγξτε Αυτό Για περισσότερες πληροφορίες.
Απάντηση: Εμφανίζεται μια οδηγία που σας ζητά να χρησιμοποιήσετε την καρτέλα για να δείτε άλλα διαθέσιμα πλαίσια δοκιμών για μια εφαρμογή που βασίζεται σε κόμβο, αλλά από προεπιλογή βλέπετε γιασεμί, οπότε απλώς κάντε κλικ στο enter.
Ε # 2) Θέλετε να χρησιμοποιήσετε το Require.js;
Εξήγηση: Το Require.js είναι ένα αρχείο JavaScript και ένας φορτωτής λειτουργικής μονάδας. Ίσως αναρωτιέστε: γιατί χρειάζεστε ένα φορτωτή αρχείων ή λειτουργικών μονάδων; Ανάγνωση Αυτό
Απάντηση: Στον κώδικα, θα γράφουμε, δεν θα χρησιμοποιούσα το memerlukan.js, οπότε απλώς απάντησε όχι. ερωτά είναι τι θα χρησιμοποιούσαμε; Για να μπορέσουμε να χρησιμοποιήσουμε τις δηλώσεις απαιτήσεων για να φέρουμε εξωτερικά αρχεία σε άλλο αρχείο, χρειαζόμαστε ένα φορτωτή λειτουργικής μονάδας, οπότε θα επιλέξαμε το Browserify. Θα δείτε περισσότερες λεπτομέρειες παρακάτω.
Ε # 3) Θέλετε να καταγράψετε αυτόματα προγράμματα περιήγησης;
Εξήγηση: Θυμηθείτε ότι το κάρμα είναι ένα εργαλείο που σας βοηθά να δοκιμάσετε τη διεπαφή σας σε διαφορετικά προγράμματα περιήγησης, επομένως, αυτή η ερώτηση έχει ως στόχο να επιλέξετε τα προγράμματα περιήγησης που θα θέλατε να ανεβείτε κάθε φορά που εκτελείτε τη δοκιμή με την έναρξη του κάρμα.
Απάντηση: Για αυτό το μάθημα, επιλέξτε chrome, firefox και phantomjs. Τώρα το ερώτημα είναι τι είναι το PhantomJS; Το PhantomJS είναι ένα πρόγραμμα περιήγησης ιστού χωρίς κεφαλή που προορίζεται για δοκιμές ιστοτόπων χωρίς κεφαλή, καταγραφή οθόνης, αυτοματοποίηση σελίδων και παρακολούθηση δικτύου, μπορείτε να δείτε λεπτομέρειες εδώ .
Μια άλλη ερώτηση, τι είναι ένα πρόγραμμα περιήγησης χωρίς κεφάλι; Ένα ασύρματο πρόγραμμα περιήγησης ιστού είναι ένα πρόγραμμα περιήγησης χωρίς γραφικό περιβάλλον εργασίας χρήστη, οι κωδικοί εκτελούνται σε περιβάλλον σαν κονσόλα.
Q # 4) Ποια είναι η τοποθεσία της πηγής και των δοκιμαστικών αρχείων σας;
Εξήγηση: Αυτή η ερώτηση έχει ως στόχο να αποκαλύψει τη διαδρομή όπου θα αποθηκεύσετε τα αρχεία διεπαφής και τα δοκιμαστικά αρχεία που θα εκτελέσουν δοκιμές μονάδας σε αυτά.
Απάντηση: Για αυτό το έργο πληκτρολογήστε public / js / *. Js για τη διαδρομή αρχείων προέλευσης και δοκιμή / * Spec.js για τη διαδρομή δοκιμαστικών αρχείων. Το * Spec.js υποδεικνύει ότι όλα τα δοκιμαστικά αρχεία μπορούν να κληθούν οτιδήποτε, αλλά πρέπει να περιέχουν Spec στο τέλος με επέκταση αρχείου .js.
Ε # 5) Πρέπει να εξαιρεθεί κάποιο από τα αρχεία που περιλαμβάνονται στα προηγούμενα μοτίβα;
Εξήγηση: Μερικές φορές, μπορεί να υπάρχει ανάγκη να μην φορτωθούν ορισμένα αρχεία προέλευσης και δοκιμαστικά αρχεία. Αυτή η ερώτηση προορίζεται για εσάς να καθορίσετε τέτοια αρχεία που δεν πρέπει να φορτώνονται στο πρόγραμμα περιήγησης από τον Karma.
Απάντηση: Απλώς εισαγάγετε μια κενή συμβολοσειρά πατώντας enter. Είδατε τη δήλωση «Μπορείτε να χρησιμοποιήσετε μοτίβα σφαιρών, Για παράδειγμα, '** / *. Swp'. '. Τα μοτίβα Glob χρησιμοποιούνται για να καθορίσουν ένα σύνολο ονομάτων αρχείων σε περιβάλλον τύπου Unix χρησιμοποιώντας τον χαρακτήρα μπαλαντέρ.
Στην περίπτωσή μας, το δημόσιο / js / *. Js σημαίνει οποιοδήποτε αρχείο που ονομάζεται οποιοδήποτε σύνολο χαρακτήρων όπως υποδεικνύεται από το (*) και έχει την επέκταση αρχείου .js και βρίσκεται στη διαδρομή δημόσια / js. Διαβάστε περισσότερα εδώ
Ε # 6) Θέλετε ο Κάρμα να παρακολουθεί όλα τα αρχεία και να εκτελεί τις δοκιμές σε αλλαγή;
Εξήγηση: Όταν ένας δρομέας εργασιών / δοκιμών παρακολουθεί τα αρχεία σας, το μόνο που σημαίνει είναι ότι κάθε φορά που επεξεργάζεστε τα αρχεία κατά τη διάρκεια της ανάπτυξης, ο δοκιμαστής / ο δρομέας εργασιών, φορτώνει ξανά το αρχείο ή εκτελεί ξανά τη λειτουργία του αρχείου, χωρίς να χρειάζεται να ρωτήσετε χειροκίνητα να το κάνω ξανά.
Απάντηση: Απλώς απαντήστε ναι.
Άλλο περιεχόμενο αρχείου karma.conf.js
# 1) basePath : Αυτή η διαμόρφωση φέρει το όνομα οποιουδήποτε φακέλου που πρέπει να χρησιμοποιηθεί για την επίλυση των πληροφοριών διαδρομής που παρέχονται για αρχεία δοκιμής και προέλευσης.
# 2) προεπεξεργαστές : Αυτό φέρει το όνομα των αρχείων προγράμματος που πρέπει να χρησιμοποιηθούν για την επεξεργασία αρχείων προέλευσης και δοκιμής πριν από τη φόρτωσή τους στο πρόγραμμα περιήγησης.
Γιατί είναι απαραίτητο;
Με την έλευση του στυλ κωδικοποίησης ES6 το οποίο δεν είναι ακόμη κατανοητό από τα προγράμματα περιήγησης, υπάρχει ανάγκη μεταμόρφωσης του κώδικα από τη μορφή ES6 στο ES5 τον οποίο μπορεί να κατανοήσει το πρόγραμμα περιήγησης, επομένως, ο προεπεξεργαστής babel για το Karma μπορεί να καθοριστεί για να χρησιμοποιηθεί για τη μεταμόρφωση του κωδικός από ES6 έως ES5 πριν τον φορτώσετε στο πρόγραμμα περιήγησης.
Υπάρχουν άλλες χρήσεις ενός προεπεξεργαστή, Π.χ. δημοσίευση κάλυψης δοκιμής κώδικα στο coveralls.io, δείτε εδώ Για περισσότερες πληροφορίες.
# 3) δημοσιογράφοι : Αυτή η επιλογή διαμόρφωσης καθορίζει το πακέτο που θα χρησιμοποιηθεί για την αναφορά των αποτελεσμάτων της δοκιμής. Υπάρχουν αρκετοί δημοσιογράφοι για την αναφορά κάλυψης δοκιμών κώδικα. Π.χ. κάλυψη. Όμως, από προεπιλογή, έχει ρυθμιστεί να προοδεύει. Σημειώστε ότι είναι ένας πίνακας, επομένως μπορείτε να προσθέσετε και άλλους δημοσιογράφους.
# 4) θύρα : Αυτό καθορίζει τη θύρα στην οποία είναι ενεργοποιημένο το πρόγραμμα περιήγησης.
# 5) χρώματα : Καθορίζει εάν οι δημοσιογράφοι πρέπει να παράγουν τις αναφορές με χρωματισμούς.
# 6) logLevel : Αυτό καθορίζει το επίπεδο καταγραφής. Από προεπιλογή, ορίζεται σε config.LOG_INFO που σημαίνει ότι καταγράφονται μόνο οι πληροφορίες.
# 7) singleRun : Αυτό καθορίζει εάν το Κάρμα πρέπει να τερματίσει μετά την εκτέλεση του τεστ μία φορά. Εάν οριστεί ως αληθινό, το Karma εκτελεί τη δοκιμή και τερματίζει με την κατάσταση 0 ή 1 ανάλογα με το αν η δοκιμή έχει αποτύχει ή περάσει, αλλιώς το Karma δεν σταματά.
Αυτή η διαμόρφωση απαιτείται για σκοπούς δοκιμής συνεχούς ενοποίησης χρησιμοποιώντας εργαλεία όπως TravisCI και CircleCI.
# 8) ταυτόχρονη : Αυτό καθορίζει πόσα προγράμματα περιήγησης πρέπει να ξεκινούν ταυτόχρονα το Karma. Από προεπιλογή, ορίζεται στο άπειρο.
Κάντε κλικ εδώ για λεπτομερείς πληροφορίες σχετικά με τις επιλογές διαμόρφωσης του Κάρμα.
Εάν είστε ορατός μαθητής, τότε, πρέπει να έχετε δει αυτές τις τρεις γραμμές.
23 03 2017 15:47:54.912:WARN (init): Failed to install 'Karma-firefox-launcher' Please install it manually. 23 03 2017 15:47:54.913:WARN (init): Failed to install 'Karma-chrome-launcher' Please install it manually. 23 03 2017 15:47:54.914:WARN (init): Failed to install 'Karma-phantomjs-launcher' Please install it manually.
Ας το εξερευνήσουμε στην παρακάτω ενότητα.
Εκκινητές προγράμματος περιήγησης Karma
Το Karma-firefox-launcher, το Karma-chrome-launcher και το Karma-phantomjs-launcher μπορούν γενικά να χαρακτηριστούν ως προγράμματα εκκίνησης του Karma.
Το Karma πρέπει να ανοίξει αυτές τις εφαρμογές του προγράμματος περιήγησης που είναι ανεξάρτητες, οπότε απαιτείται μια εφαρμογή τρίτου μέρους για να παρέχει μια διεπαφή στο Karma για την εκτέλεση της εντολής shell που περιστρέφει τα προγράμματα περιήγησης σε οποιοδήποτε λειτουργικό σύστημα στο οποίο εκτελείται μια δοκιμή.
Έτσι, είναι εκκινητές του προγράμματος περιήγησης Karma για Firefox, Chrome και Phantomjs αντίστοιχα. Το Κάρμα εμφανίζει αυτές τις δηλώσεις για να μας ενημερώσει για την αδυναμία εγκατάστασής τους και στη συνέχεια μας ζητά να το εγκαταστήσουμε μόνοι μας με το χέρι.
Για να γίνει αυτό, θα χρησιμοποιήσουμε τον διαχειριστή πακέτων κόμβων και θα εκτελέσουμε αυτές τις εντολές από τη γραμμή εντολών: npm εγκατάσταση Karma-chrome-launcher Karma-firefox-launcher Karma-phantomjs-launcher –save-dev
Όλοι μας πρέπει να έχουμε εγκατεστημένα προγράμματα περιήγησης chrome και firefox, με τα phantomjs να μην είναι εγκατεστημένα. Εάν αυτό ισχύει, τότε πρέπει να το εγκαταστήσετε, δείτε εδώ για λεπτομέρειες και κάντε κλικ εδώ για έναν οδηγό γρήγορης εκκίνησης.
συμπέρασμα
Σε αυτό το σεμινάριο, προσπαθήσαμε να καταλάβουμε τι είναι η δοκιμή μονάδας front-end. Παρουσιάσαμε επίσης ένα σημαντικό εργαλείο δοκιμής μονάδας front-end για λογισμικό JavaScript γνωστό ως Karma, το οποίο είναι ένα εργαλείο που βασίζεται σε κόμβους. Παρουσιάσαμε επίσης τις βασικές επιλογές διαμόρφωσης για το αρχείο Karma.conf.js και αυτό που υπονοούν.
πώς μοιάζει ένα μόντεμ Διαδικτύου
Διακοπές
- Η δοκιμή μονάδας είναι ένα είδος μεθόδου δοκιμής λογισμικού στην οποία κάθε άτομο και ανεξάρτητο μέρος του πηγαίου κώδικα ελέγχεται για να προσδιοριστεί εάν είναι αρκετά καλό για χρήση.
- Όταν πραγματοποιούμε αυτόν τον έλεγχο μονάδας στο front-end (client-side) του λογισμικού, είναι γνωστό ως front-end unit testing.
- Το Karma είναι ένα εργαλείο δοκιμής βασισμένο σε κόμβους που σας επιτρέπει να δοκιμάσετε τους κώδικες JavaScript σε πολλά πραγματικά προγράμματα περιήγησης. Ως εκ τούτου ονομάζεται δοκιμαστής.
- Το Nodejs είναι ένα ασύγχρονο JavaScript χρόνου εκτέλεσης βάσει συμβάντων που καθιστά την κατασκευή επεκτάσιμων δικτύων εφαρμογών εύκολη και δυνατή.
- Ο διαχειριστής πακέτων κόμβων (npm) είναι ένας διαχειριστής πακέτων JavaScript που χρησιμοποιείται για την εγκατάσταση άλλων προεγκατεστημένων εφαρμογών ή λειτουργικών μονάδων που βασίζονται σε κόμβους που μπορεί να θέλετε να χρησιμοποιήσετε ξανά στη δική σας εφαρμογή.
Μόνο το Karma δεν μπορεί να αυτοματοποιήσει τη δοκιμή μονάδας front-end των εφαρμογών JavaScript, πρέπει επίσης να συνεργαστεί με άλλα εργαλεία δοκιμών όπως ένα πλαίσιο δοκιμών που θα διευκολύνει τη σύνταξη των δοκιμαστικών μας περιπτώσεων.
Στο επερχόμενο σεμινάριό μας, θα διερευνήσουμε σχετικά με το Jasmine και το πακέτο Jasmine-Jquery, το οποίο επεκτείνει τη λειτουργικότητα του Jasmine για να μπορεί να δοκιμάσει τα φωτιστικά HTML που χρησιμοποιούν τη βιβλιοθήκη JavaScript: Jquery.
Συνιστώμενη ανάγνωση
- 20 πιο δημοφιλή εργαλεία δοκιμής μονάδων το 2021
- Κλειδί για επιτυχημένη δοκιμή μονάδας - Πώς δοκιμάζουν οι προγραμματιστές τον δικό τους κώδικα;
- TOP 45 Ερωτήσεις συνέντευξης JavaScript με λεπτομερείς απαντήσεις
- Tutorial AngularJS για απόλυτους αρχάριους (με οδηγό εγκατάστασης)
- Διαφορά μεταξύ γωνιακών εκδόσεων: Angular Vs AngularJS
- Κάλυψη δοκιμής σε δοκιμές λογισμικού (Συμβουλές για μεγιστοποίηση της κάλυψης δοκιμών)
- 48 Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης AngularJS (2021 LIST)
- Τρόπος ρύθμισης του πλαισίου δοκιμών Node.js: Node.js Tutorial