Προγραμματισμός

10 αξιόπιστα εργαλεία δοκιμής JavaScript

Η ανάγκη δοκιμής κώδικα JavaScript είναι απλή. Πώς αλλιώς να διατηρήσετε τα σφάλματα και να βεβαιωθείτε ότι οι εφαρμογές λειτουργούν ομαλά στο πρόγραμμα περιήγησης ή στο Node.js; Ευτυχώς, οι προγραμματιστές έχουν πληθώρα επιλογών όσον αφορά τη δοκιμή JavaScript.

Οι δοκιμαστικοί δρομείς και τα πλαίσια για δοκιμή μονάδων, δοκιμές ενοποίησης και λειτουργικές δοκιμές είναι άμεσα διαθέσιμα για το οικοσύστημα JavaScript, με κάλυψη για Node.js και προγράμματα περιήγησης, καθώς και για τα πλαίσια Angular και React. Ακολουθούν 10 από τις πολλές αξιοσημείωτες επιλογές που πρέπει να τους βοηθήσουν οι προγραμματιστές JavaScript να δοκιμάσουν τις εφαρμογές τους.

AVA

Το AVA είναι ένας δοκιμαστικός δρομέας για το Node.js που προσφέρει ένα συνοπτικό API, λεπτομερή έξοδο σφάλματος και υποστήριξη για νέες λειτουργίες γλώσσας και απομόνωση διαδικασίας. Το AVA είναι το πιο κατάλληλο για τη δοκιμή ενοτήτων Node.js και εφαρμογών διακομιστή, αλλά ίσως όχι για τη δοκιμή εφαρμογών UI. Μεταξύ των δυνατοτήτων του, το AVA προσφέρει μια δυνατότητα για να επισημάνετε μια δοκιμή ως εργασία «να κάνετε». Κάθε δοκιμαστική εκτέλεση αρχείου είναι μια ξεχωριστή διαδικασία. Άλλα οφέλη που αναφέρονται περιλαμβάνουν τον μινιμαλισμό και την ταχύτητα του AVA, την απλή σύνταξη δοκιμών και την ικανότητα ταυτόχρονης εκτέλεσης δοκιμών. Το AVA έχει επίσης υποστήριξη για λειτουργίες ασύγχρονου και παρατηρήσιμα - ένα παρατηρήσιμο είναι ένας τύπος που μπορεί να χρησιμοποιηθεί για τη μοντελοποίηση πηγών δεδομένων που βασίζονται σε push, όπως συμβάντα DOM.

Εγκαταστήστε το AVA

Οδηγίες για την εγκατάσταση του AVA μπορείτε να βρείτε στη σελίδα GitHub του έργου.

Αγγούρι.js

Η εφαρμογή JavaScript του εργαλείου δοκιμής Cucumber, Cucumber.js εκτελείται σε διατηρημένες εκδόσεις Node.js και σε σύγχρονα προγράμματα περιήγησης ιστού. Το έργο Cucumber αναφέρει οφέλη, συμπεριλαμβανομένων των ομαδικών επικοινωνιών και της δυνατότητας αυτόματων δοκιμών γραμμένων σε «απλή» γλώσσα, που σημαίνει ότι οποιοσδήποτε στην ομάδα μπορεί να τα διαβάσει. Έτσι, η επικοινωνία, η συνεργασία και η εμπιστοσύνη μπορούν να βελτιωθούν. Το Cucumber.js περιλαμβάνει ένα εκτελέσιμο αρχείο για την εκτέλεση των δοκιμαστικών σουιτών (που ονομάζονται χαρακτηριστικά), οπότε δεν λειτουργεί όταν εγκαθίσταται παγκοσμίως. (Το αγγούρι πρέπει να απαιτείται σε αρχεία υποστήριξης και δεν μπορούν να απαιτηθούν παγκοσμίως εγκατεστημένες μονάδες.)

Εγκαταστήστε το Cucumber.js

Οδηγίες για την εγκατάσταση του Cucumber.js διατίθενται στο GitHub.

Ενζυμο

Το Enzyme είναι ένα βοηθητικό πρόγραμμα δοκιμών για τη βιβλιοθήκη React JavaScript UI. Προορίζεται να διευκολύνει τον έλεγχο της εξόδου των στοιχείων React. Οι προγραμματιστές μπορούν να χειριστούν, να διασχίσουν και να προσομοιώσουν το χρόνο εκτέλεσης δεδομένης της εξόδου. Το Enzyme API μιμείται το jQuery API για χειρισμό και διέλευση DOM. Το ένζυμο δεν είναι γνωστό για τη δοκιμαστική εφαρμογή ή τη βιβλιοθήκη ισχυρισμών. Εάν οι προγραμματιστές θέλουν να χρησιμοποιήσουν το Enzyme με προσαρμοσμένους ισχυρισμούς και λειτουργίες ευκολίας για να δοκιμάσουν στοιχεία του React, μπορούν να το εξετάσουν chai-ένζυμο με Mocha / Chai, ένζυμο γιασεμιού με γιασεμί ή αστείο ένζυμο με τον Jest. Το ένζυμο μπορεί επίσης να χρησιμοποιηθεί για τη δοκιμή συστατικών React Native.

Εγκαταστήστε το Enzyme

Οδηγίες για την εγκατάσταση του Enzyme μπορείτε να βρείτε στο GitHub.

Κάρμα

Το Karma είναι ένας δοκιμαστικός δρομέας για JavaScript που επιτρέπει την εκτέλεση κώδικα σε πολλά προγράμματα περιήγησης. Υποστηρίζονται όλα τα μεγάλα προγράμματα περιήγησης, συμπεριλαμβανομένων των προγραμμάτων περιήγησης για κινητά. Οι προγραμματιστές πίσω από το έργο λένε ότι το Karma προσφέρει ένα περιβάλλον στο οποίο οι προγραμματιστές δεν χρειάζεται να ρυθμίσουν πολλές διαμορφώσεις, αλλά μπορούν να γράψουν κώδικα και να λάβουν άμεσα σχόλια από τις δοκιμές. Το Karma έχει σχεδιαστεί για δοκιμές χαμηλού επιπέδου (μονάδα). Όχι ένα πλαίσιο δοκιμών ή μια βιβλιοθήκη ισχυρισμών, ο Karma εγκαινιάζει έναν διακομιστή HTTP και δημιουργεί ένα αρχείο δοκιμής από το αγαπημένο πλαίσιο δοκιμών του προγραμματιστή. Προσφέρονται προσθήκες για πλαίσια όπως γιασεμί, Mocha και QUnit.

Εγκαταστήστε το Κάρμα

Οδηγίες για την εγκατάσταση του Karma διατίθενται στο GitHub.

Γιασεμί

Η Jasmine τιμολογείται ως πλαίσιο που βασίζεται στη συμπεριφορά για τη δοκιμή JavaScript. Δεν εξαρτάται από άλλα πλαίσια JavaScript και δεν χρειάζεται DOM. Οι υποστηρικτές του αναφέρουν τη σύνταξή της ως εύκολη γραφή δοκιμών. Συντηρείται από τα Pivotal Labs, η Jasmine είναι κατάλληλη για δοκιμές ιστότοπων, έργων Node.js και οτιδήποτε άλλο όπου μπορεί να εκτελεστεί η JavaScript. Το Jasmine προορίζεται να φέρει ευκολία στη δοκιμή σε μια ποικιλία διαφορετικών περιπτώσεων χρήσης και προγραμμάτων περιήγησης και είναι αγνωστικικό πλαίσιο JavaScript, επιτρέποντας στους προγραμματιστές να μπορούν να δοκιμάσουν κώδικα από το React ή το Angular ή οποιαδήποτε άλλη βιβλιοθήκη JavaScript. Η Jasmine προσπαθεί για ελάχιστες εξαρτήσεις ενώ παραμένει μικρή και διατηρήσιμη.

Εγκαταστήστε το Jasmine

Οδηγίες για την εγκατάσταση του Jasmine και για να ξεκινήσετε με το Jasmine μπορείτε να βρείτε στο GitHub.

Αστείο

Το Jest χρεώνεται ως μια ολοκληρωμένη λύση δοκιμής JavaScript που λειτουργεί έξω από το κουτί, χωρίς διαμόρφωση, για τα περισσότερα έργα JavaScript. Οι δοκιμές έχουν μοναδική παγκόσμια κατάσταση και μπορούν να διεξαχθούν παράλληλα. Οι προηγουμένως αποτυχημένες δοκιμές εκτελούνται πρώτα, με τις αναδιοργανώσεις να εκτελούνται με βάση το μήκος των δοκιμαστικών αρχείων. Απλώς λειτουργεί με δημοφιλείς τεχνολογίες JavaScript, συμπεριλαμβανομένων των Angular, Babel, Node.js, React και Vue. Οι δοκιμές μπορούν να διεξαχθούν για να παρακολουθείτε μεγάλα αντικείμενα, με στιγμιότυπα που βρίσκονται δίπλα σε δοκιμές ή ενσωματωμένα ενσωματωμένα. Στα δοκιμαστικά αρχεία, η Jest βάζει μεθόδους και αντικείμενα στο παγκόσμιο περιβάλλον, χωρίς να χρειάζεται να τα εισαγάγει.

Εγκαταστήστε το Jest

Οδηγίες για την εγκατάσταση του Jest μπορείτε να βρείτε στο GitHub.

Σελήνη

Το Luna είναι ένα πλαίσιο ελέγχου μονάδων με γνώμονα το JavaScript που δεν απαιτεί διαμόρφωση. Οι προγραμματιστές μπορούν να πραγματοποιήσουν τις πρώτες δοκιμές μονάδας τους μέσα σε λίγα λεπτά, αναφέρει η τεκμηρίωση του προϊόντος. Οι αναφορές κάλυψης κώδικα δημιουργούνται χωρίς εγκατάσταση άλλων ενοτήτων. Οι δοκιμές πρέπει να γραφτούν ως λειτουργικές μονάδες ES6, με προεπιλεγμένες δοκιμές στο πρόγραμμα περιήγησης. Υποστηρίζεται ταυτόχρονα, με τις ομάδες δοκιμών να εκτελούνται παράλληλα. Η Luna εμπνεύστηκε εν μέρει από τις ενσωματωμένες δοκιμές που διατίθενται για τη γλώσσα Google Go. Το Luna δεν χωράει τη μεταγλώττιση, επομένως δεν θα λειτουργεί με το CoffeeScript ή το TypeScript. Δεν διαθέτει επίσης υποστήριξη για παλαιότερα προγράμματα περιήγησης.

Εγκαταστήστε τη Luna

Οδηγίες για την εγκατάσταση του Luna είναι διαθέσιμες στο GitHub.

Μόκα

Ένα πλαίσιο δοκιμών πλούσιο σε χαρακτηριστικά που τρέχει στο Node.js και στο πρόγραμμα περιήγησης, η Mocha υπόσχεται να κάνει τη δοκιμή ασύγχρονου κώδικα «απλή και διασκεδαστική». Οι δοκιμές εκτελούνται σειριακά, σύμφωνα με τους υποστηρικτές για ακριβείς, ευέλικτες αναφορές, ενώ χαρτογραφούνται μη εξαχθέντες εξαιρέσεις σε ακριβείς περιπτώσεις δοκιμών. Για συνεχείς δοκιμές, οι προγραμματιστές μπορούν να χρησιμοποιήσουν το εργαλείο Wallaby.js για να επιτρέψουν την κάλυψη κώδικα σε πραγματικό χρόνο για το Mocha με οποιαδήποτε βιβλιοθήκη ισχυρισμών. Το Mocha ενσωματώνεται επίσης σε πλαίσια εφαρμογών, όπως μέσω του Konacha, το οποίο επιτρέπει στους προγραμματιστές να χρησιμοποιούν το Mocha για να δοκιμάσουν το JavaScript σε εφαρμογές Ruby on Rails. Διατίθενται επίσης πολλές προσθήκες προγράμματος επεξεργασίας, όπως η επέκταση Mocha sidebar για τον Visual Studio Code.

Εγκαταστήστε το Mocha

Οδηγίες για την εγκατάσταση του Mocha και τεκμηρίωση για τις πολλές δυνατότητες του Mocha διατίθενται στον ιστότοπο του έργου.

Μοιρογνωμόνιο

Το Protractor είναι ένα ολοκληρωμένο πλαίσιο δοκιμών για το Angular και ο προκάτοχός του, AngularJS. Οι δοκιμές εκτελούνται έναντι εφαρμογών σε ένα πρόγραμμα περιήγησης, με το Proctractor να αλληλεπιδρά με μια εφαρμογή όπως θα έκανε ο χρήστης. Υποστηρίζονται στρατηγικές εντοπισμού ειδικής γωνίας, για τον έλεγχο γωνιακών στοιχείων χωρίς καμία ρύθμιση. Η αυτόματη δυνατότητα αναμονής επιτρέπει στο Protractor να εκτελέσει το επόμενο βήμα σε μια δοκιμή τη στιγμή που μια ιστοσελίδα ολοκληρώνει τις εκκρεμείς δοκιμές. Το Protractor δημιουργήθηκε πάνω από το WebdriverJS, μια εφαρμογή JavaScript του εργαλείου αυτοματισμού του προγράμματος περιήγησης Selenium που χρησιμοποιήθηκε για δοκιμή.

Εγκαταστήστε το μοιρογνωμόνιο

Οδηγίες για την εγκατάσταση του Protractor μπορείτε να βρείτε στον ιστότοπο του Protractor.

Πλήρης

Το QUnit είναι ένα πλαίσιο δοκιμής μονάδας JavaScript που χρησιμοποιείται από τα έργα JQuery, jQuery UI και jQuery Mobile. Στην πραγματικότητα το QUnit αναπτύχθηκε αρχικά ως μέρος του jQuery από τον εφευρέτη jQuery John Resig. Το QUnit χρεώνεται ως γρήγορο και εύκολο στη χρήση, με ένα API που είναι πετυχημένο, αλλά αδύνατο και επεκτάσιμο, και μπορεί να χρησιμοποιηθεί για τη δοκιμή οποιουδήποτε γενικού κώδικα JavaScript. Όταν μια δοκιμή ή μια δήλωση αποτύχει, το QUnit υπόσχεται να παράσχει σχόλια το συντομότερο δυνατό, με επαρκείς λεπτομέρειες για να καταλάβει το ζήτημα. Οι μέθοδοι επιβεβαίωσης στο QUnit ακολουθούν τις προδιαγραφές δοκιμής μονάδας CommonJS. Το QUnit υποστηρίζει προγράμματα περιήγησης που υποστηρίζονται από το jQuery 3.x, συμπεριλαμβανομένων των παραλλαγών των Chrome, Edge, Firefox, Internet Explorer και Safari.

Εγκαταστήστε το QUnit

Μπορείτε να κάνετε λήψη και εγκατάσταση του QUnit από τον ιστότοπο QUnit ή από το jQuery.cdn.