O mică introducere în testele unității JS și cadrul și instrumentele sale
Scenariul de codare de dezvoltare web sa schimbat exponențial în ultimii ani. Lumea a adoptat limbi de programare convenționale, cum ar fi Java, .NET și PHP. Acestea au început să se adapteze la cadrul JavaScript datorită ușurinței sale de utilizare în ambele capabilități de frontend și de backend și rapid de prototipare
cu această tranziție, de asemenea, apare necesitatea de a avea unelte excelente de testare. În acest articol, vă voi ghida prin unele dintre cele mai bune instrumente de testare a unităților JavaScript care sunt utilizate în industrie.
Importanța testelor unității
Înainte de a începe să înțelegeți instrumentele disponibile și Beneficiile sale, am înțeles de ce sunt importante testele unităților.
Testarea unității este procesul de testare a codului implementat la nivelul modulului. Testele unității vă permit să vă asigurați că modulele dezvoltate îndeplinesc cerințele specificate în documentul comercial. Aceste teste sunt scrise pentru fiecare modul deoarece sunt create. După fiecare dezvoltare a unui nou modul, întregul set de cazuri de testare este executat pentru a se asigura că nici un modul existent nu este afectat de modulul dezvoltat.
Dezvoltarea JavaScript ar putea fi dezorganizată suficient dacă nu este urmată. Convențiile corespunzătoare. Acest lucru face necesară utilizarea instrumentelor de dezvoltare adecvate și a testelor unităților. Testele unității JavaScript pentru FRINEND sunt executate în principal în navigatori reali sau fără cap
aceste teste se concentrează pe testarea utilizabilității și capacității de reacție a cererii. Backend unități de testare Rames focus pe testarea logicii de afaceri și puncte finale pentru codul de backend bazat pe NODEJS.
Mochajs
Mochajs este cadrul celui mai popular test care acceptă testele de backend și frontend . Mochajs este o bază flexibilă pentru dezvoltarea testelor după cum este necesar. Executați testele asincron pe motorul Chrome V8 sau în orice alt browser.
Principalele beneficii ale Mocha includ :
- Lucrări pentru ambele Frontend și Backend
- Suporturi NODEJS Debugger
- Oferă o bază curată pentru a dezvolta teste în funcție de confortul dezvoltatorului.
- suportă orice browser, inclusiv biblioteca cromată fără cap
- suportă simularea obiectelor pentru a efectua teste flexibile de backend
- Cheltuieli generale minore datorită dependențelor externe aproape zero
- vine cu aproape toate instrumentele necesare în afara casetei
- Suportă testele Frontend și Backend
- codificare este destul de asemănătoare cu scrierea în limba naturală.
- Documentație largă pentru ao folosi cu mai multe cadre
- Amprenta ușoară o face mai rapidă
- execută testele asincron și concurente
- mai repede decât majoritatea celorlalte cadre de testare
- Cea mai simplă sintaxă pentru testele JavaScript
- TRACILE BATERIEI DE FIER PENTRU ORICE EROARE POATE RĂSPUNSĂ
- Cadru unic Potrivit pentru Nodejs, Vuejs, reacție, unghi și alte proiecte bazate pe Babel
- mai ușor de decolare de la podea
- bine documentație și sintaxă standard de codare.
- cu instantanee live, vă permite să gestionați teste cu obiecte mai mari
- poate fi folosit pentru a executa teste în browsere, medii fără cap, cum ar fi fantomă și dispozitive.
- suport teste scrise pe cele mai populare cadre
- vă permite să executați teste de la distanță Formă pe alte dispozitive cu numai fișierele care vin
- suportă depanarea cazului de testare cu Chrome și Webstorm
- Fotografia curată și ușoară
- Oferă numai codul goale din metal și oferă dezvoltatorului total de libertate pentru a scrie cazuri de testare
- Compatibil cu standardele ES6, TypeCript și Script de cafea
- sprijină executarea testelor în cele mai moderne browsere
iasmine
Jasmine este un imitator al comportamentului utilizatorului care vă permite să testați dovada similar cu comportamentul utilizatorului de pe site-ul dvs. web. Jasmina este utilă pentru o interfață de testare a vizibilității, faceți clic pe Claritate și capacitatea de răspuns a interfeței de utilizator în diferite rezoluții. Jasmine vă permite să automatizați comportamentul utilizatorului cu întârzierile vamale și timpul de așteptare pentru a simula comportamentul utilizatorului real.
Principalele beneficii ale utilizării iasomiei includ:
Această unitate de unitate luminoasă cu cursul online de iasmină.
Ava este un cadru de testare ușoară și minimalist care profită de natura asincronă a JavaScript. Ava poate efectua teste în același timp.
permite controlul aproape total asupra a ceea ce faci. Se concentrează în principal pe testele de funcționare a codului bazat pe NODEJS. Unele dintre beneficiile includ:
Gestură
Gestul este Una dintre cele mai populare cadre pe care Facebook o păstrează în mod regulat. Este un cadru preferat pentru aplicațiile bazate pe reacția, deoarece nu necesită configurare.
Cu toate acestea, eu fac nu știu limita de utilizare cu reacția.Unele dintre caracteristicile lui Jest sunt:
karma
Karma este un mediu de testare productiv care susține întregul cadru popular de descriere a testului în sine. Oferă suportul pentru a executa teste în diferite medii. Are un sprijin larg pentru executarea testelor pe diferite dispozitive și aplicații.
Factorul principal de a alege Karma se află în sprijinul său pentru a se integra cu motoarele CI / CD și următoarele caracteristici.
bandă este destul de similară cu Ava în arhitectura sa. Acesta nu acceptă global și, prin urmare, trebuie să includeți banda în fiecare fișier de testare. Această decizie de a limita globul de variabile are, de asemenea, beneficiile sale. Unele dintre caracteristicile se evidențiază:
chypress.io
chypress este un cadru de testare interesant care practic rulează în browser. Acesta oferă o interfață de utilizator interactivă în browser sub forma unei pagini web. Poate fi ușor instalat pe Mac, Windows și Linux. Este un executor independent de testare care nu trebuie să fie strâns integrat cu codul său.
Purderiter
Puppeteer este un cadru excelent de testare creată de o echipă Google. Oferă un API Chrome fără cap pentru aplicațiile NODEJS.
Puppeteerul este utilizat în principal pentru aplicații specifice de browser ca testul de urmărire, testul de structură a paginii , Soclu de captare a ecranului și chiar capturarea conținutului pre-redare pentru aplicații cu o singură pagină. Beneficiile suplimentare ale utilizării Puppeteer sunt:
- posibilitate de configurare a rezoluțiilor și a dimensiunilor personalizate pentru browser
- Suport pentru a testa extensiile cromate
- Automatizare de suport pentru Trimiterea formularelor, teste de interfață utilizator și intrări de tastatură
- suportă funcționalitățile ES6 cum ar fi AWAIT și Async
- pot fi utilizate pentru a crea scripturi de testare reutilizabile.
- oferă o interfață web gata pentru a implementa vizual rezultatele cazurilor de testare
- Un grup de complemente construite pe acesta permite o dezvoltare mai rapidă a cazului de testare
Cadrul Chaijs se concentrează pe dovezi bazate pe comportament. Poate fi folosit în paralel cu orice alt cadru. A fost existau de ceva timp și a evoluat cu evoluția standardelor JavaScript.
Chaijs lucrează cu nod, browser, feroviar și are o mare comunitate de sprijin și documentare.
QUNIT
qunit – un cadru puternic de testare dedicat utilizării unei interfețe. Este prima alegere a dezvoltatorilor bibliotecilor JQuery, JQuery Mobile și JQuery UI.
poate fi scris ca a JS File Independent și rulați pe orice pagină Web. Metoda standard de testare cu Quit este de a include fișierul de pe pagina web și de a executa teste cu add-on QNIT. Quit beneficii includ:
altfel
sinon.js completează testul unității cadru pentru a contraface / distractiv de real lucruri. Pentru că în timpul testelor, nu veți avea toate datele! Este compatibil cu timpul de execuție al cromului, adică 11, Firefox, Edge, Safari și Nod.Js.
O alternativă bună la sinon ar fi testdouble.js
Concluzie
Testele unității sunt esențiale pentru a se asigura că modificările codului nu încalcă aplicația și care funcționează în conformitate cu cerințele comerciale. Și sper că cele de mai sus vă vor ajuta cu asta. Dacă sunteți un începător, vă place acest curs după linie care vă învață să faceți teste de unitate JS cu Chaijs, Sinon și Mocha.