Rezultatele sondajului StateOfJS: ce framework-uri de testare JS vor conduce 2019?
O scurtă trecere în revistă a celor mai in-solicitate framework-uri de testare javascript care vor ocupa un loc central în ecosistemul javascript și cu care dezvoltatorii ar trebui să se familiarizeze în 2019
TL;DR: în acest articol, ne vom uita la cele mai solicitate cadre de testare javascript și le vom trece în revistă pe baza informațiilor din starea rezultatelor javascript.
În general, există practic trei tipuri sau moduri în care poate fi testată o aplicație javascript. Primul mod este prin testarea funcțiilor individuale separat sau independent printr-un fel de metodă de tip blackbox în care intrările sunt furnizate cu o ieșire deja cunoscută pentru a se asigura că sunt produse rezultatele așteptate, aceasta se numește testare unitară. Procesul de testare apoi a întregii componente sau aplicații pentru a vedea dacă rezultatele așteptate sunt produse se numește testare de integrare. Al treilea mod este cunoscut sub numele de Testarea interfeței cu utilizatorul, este folosit pentru a testa practic aplicația prin controlul browserului fără a pune prea mult accent pe funcționarea internă pentru a testa așteptările.
Ce este StateOfJS
State of JS este practic un sondaj anual despre tot ceea ce înseamnă JavaScript, în care opiniile dezvoltatorilor care participă la sondaj sunt înregistrate și frumos vizualizate pentru a arăta perspective care semnifică starea JavaScript în acel an.
Punctele de date acoperă cadrele de dezvoltare web frontend, bazele de date, gestionarea stării, relațiile dintre cadre, recepția și ușurința de utilizare, limbajele care compilează în JavaScript, cadrele mobile, instrumentele de construcție, instrumentele de testare JavaScript și multe altele. Este un sondaj JavaScript foarte cuprinzător care a fost inițiat în 2016 de Sacha Greif și alți câțiva ajutoare, iar acum are peste 20.000 de răspunsuri ale dezvoltatorilor în cea mai recentă ediție.
De ce StateOfJS?
Da, State of JS este, de fapt, primul sondaj pentru dezvoltatori exclusiv JavaScript care este respectat universal în ceea ce privește comunitatea JavaScript. Există și alte sondaje foarte populare, cum ar fi sondajul stackoverflow developer survey cu peste 100.000 de respondenți și chiar raportul Jetbrain’s State of Developer Ecosystem Report cu peste 6.000 de respondenți, noi ne vom concentra însă astăzi pe sondajul State of JS.
Să facem o scurtă trecere în revistă a acestor cadre de testare în ordinea în care au fost vizualizate în sondajul State of javascript 2018.
Tip: Când lucrați cu componente (React, ES6 etc.) utilizați Bit pentru a le partaja, organiza și reutiliza cu ușurință între aplicații – pentru a construi mai repede. De asemenea, îl puteți utiliza pentru a testa individual componentele în cloud, înainte de a le utiliza. Încercați.
Jest
Jest, fără îndoială unul dintre cele mai populare framework-uri de testare javascript, cu peste 22.000 ⭐️ pe github, a fost construit și este întreținut constant de echipa de la Facebook. Este un cadru de testare javascript cu configurație zero, recomandat de React și, de asemenea, cel mai ușor de utilizat. Jest are o rată de acceptare foarte impresionantă în 2018 de către comunitatea javascript.
Este foarte performant, cu o interfață de utilizator neechivocă și convenabilă. Se livrează cu spioni și mocks și creează teste globale în mod implicit. De asemenea, prevede testarea instantanee și se livrează cu un instrument de acoperire a codului încorporat. Este incredibil de rapid și este una dintre cele mai bune opțiuni pentru începătorii care ar dori să se apuce de testarea codului lor javascript. Există, de asemenea, o tonă de resurse disponibile online despre Jest.
Mocha
Mocha cu peste 16.000 ⭐️pe github este cel mai utilizat cadru de testare javascript de ani de zile. Este folosit cu aserțiuni de la terțe părți, instrumente de mocking și spionaj precum chai sau enzyme. În afară de ecosistemul masiv, Mocha are opțiuni bine stabilite, cu o documentație excelentă. Este foarte flexibil și deschis la o mulțime de extensii.
Chiar dacă asistăm la o mică alunecare a dominației de la Mocha la Jest, dar Mocha este în continuare cel mai utilizat instrument de testare și cea mai dependentă bibliotecă, iar dezvoltatorii javascript nu renunță încă la el, în principal din cauza bogăției de libertate și flexibilitate care vine odată cu utilizarea Mocha. Comunitatea Mocha este foarte masivă și există tone de resurse privind utilizarea și cazurile de utilizare.
Jasmine
Jasmine este universal cunoscut ca fiind cadrul de testare recomandat oficial de Angular pentru a fi folosit de dezvoltatori, cadrul Jest a fost construit pe baza lui Jasmine. Cu peste 14.000 ⭐️pe github Jasmine este unul dintre cele mai populare cadre pentru testarea javascript, este, de asemenea, unul dintre cele mai vechi și cu cele mai multe resurse și sprijin din partea comunității. Dezvoltatorii Angular l-ar găsi ușor de utilizat și de integrat, deoarece documentația oficială Angular sugerează, de asemenea, utilizarea Jasmine. Este foarte ușor de început, acesta este probabil unul dintre lucrurile care au inspirat Jest. În 2018, conform sondajului, observăm o schimbare în utilizarea lui Jasmine către Jest și, de asemenea, mai multe aplicații react sunt testate de Jasmine în comparație cu angular.
Este foarte important de reținut că testele pentru aplicațiile Angular pot fi rulate cu ușurință cu Jest și practic este vorba doar de preferințe.
Karma
Karma cu peste 10.000 ⭐️pe github este un fel de framework de testare javascript pentru cazuri de utilizare generală. Puteți rula teste în browser sau în medii asemănătoare browserului, cum ar fi jsdom. Există suport pentru instrumente de integrare continuă precum travis și jenkins, testele pot fi rulate pe dispozitive reale sau pe o instanță phantomJs headless. Este agnostic pentru framework-uri, astfel încât vă puteți descrie testele cu Jasmine, Mocha sau puteți scrie un adaptor simplu pentru orice framework doriți.
Testele pot fi, de asemenea, rulate de la distanță din terminalul sau IDE-ul dvs. sau folosind servicii precum BrowserStack.
AVA
AVA cu peste 15.000 ⭐️pe github este în prezent cel mai minimalist framework de testare javascript existent care rulează testele în paralel. AVA este un executant de teste pentru Node.js cu o API concisă, ieșire detaliată a erorilor, îmbrățișarea de noi caracteristici de limbaj și izolare a proceselor care vă permit să scrieți teste mai eficient.
Este livrat cu suport pentru testarea instantanee și typescript și rulează testele în modul de supraveghere, ceea ce îl face foarte rapid; de asemenea, oferă un mediu izolat pentru fiecare fișier de testare. Este ușor de început și are o colecție de resurse disponibile online.
Cypress
Cu peste 9.000 ⭐️pe github, Cypress este un instrument de testare javascript foarte rapid și fiabil. Practic, injectează teste într-o aplicație web, oferă o documentație foarte clară și extinsă și este în competiție constantă cu un alt cadru de testare TestCafe.
De asemenea, este livrat cu suport pentru Mocha și are o modalitate foarte bună de înregistrare a rezultatelor testelor într-un tablou de bord și o depanare ușoară. Este cadrul de testare de urmărit în 2019, cu o rată de acceptare în creștere masivă.
Puppeteer
Cu peste 43.000 ⭐️pe github, Puppeteer construit de echipa de la Google este o bibliotecă Node care oferă un API de nivel înalt pentru a controla Chrome sau Chromium prin intermediul protocolului DevTools. Puppeteer rulează în mod implicit headless, dar poate fi configurat pentru a rula complet (non-headless) Chrome sau Chromium.
Este nou pe scena de testare, dar are deja o mulțime de dezvoltatori care îl folosesc (mulțumesc Google!) Este, de asemenea, destul de rapid, deoarece este nativ, nu acceptă în prezent o mulțime de extensii, dar viitorul este foarte luminos și promițător.
QUnit
Cu peste 3.700 ⭐️pe github, QUnit este un cadru de testare unitară JavaScript care a fost inițial dezvoltat pentru testarea jQuery, jQuery UI și jQuery Mobile, este un cadru generic pentru testarea oricărui cod JavaScript. Suportă mediile client-side din browserele web și server-side.
QUnit este similar cu alte cadre de testare unitară, cum ar fi JUnit, dar utilizează caracteristicile pe care le oferă JavaScript și ajută la testarea codului în browser, cum ar fi suportul încorporat pentru asincronie și gestionarea excepțiilor.
Chai
Cu 6.000 ⭐️pe github, Chai este o bibliotecă de aserțiuni Behaviour-Driven Development și Test-driven development, similară cu cea încorporată de Node assert
. Aceasta face testarea mult mai ușoară, oferindu-vă o mulțime de aserțiuni pe care le puteți rula împotriva codului dvs. Se livrează cu suport pentru orice alt cadru de testare, cum ar fi Mocha.
TestCafe
TestCafe cu peste 5.900 ⭐️pe github, este un cadru Node folosit pentru testarea aplicațiilor javascript de la un capăt la altul. Este livrat cu suport typescript și are o interfață foarte frumoasă pentru înregistrarea rezultatelor testelor.
Funcționează pe toate mediile populare, inclusiv Windows, MacOS și Linux. Suportă browsere desktop, mobile, la distanță și în cloud (UI sau headless). De asemenea, are o documentație foarte elaborată și o comunitate în creștere.
Mențiuni onorabile
Protractor
Concluzie
.