Een snel overzicht van de meest in-vraag javascript test frameworks die centraal zouden staan in het javascript ecosysteem en waarmee ontwikkelaars vertrouwd zouden moeten raken in 2019

Foto door Louis Reed op Unsplash

TL;DR: in dit artikel bekijken we de top van de meest gevraagde javascript testframeworks en beoordelen we deze op basis van inzichten uit de stand van zaken met betrekking tot javascript resultaten.

In het algemeen zijn er drie soorten of manieren waarop een javascript-toepassing kan worden getest. De eerste manier is door het testen van individuele functies afzonderlijk of onafhankelijk door middel van een soort blackbox methode waarbij inputs worden voorzien van een reeds bekende output om er zeker van te zijn dat de verwachte resultaten worden geproduceerd, dit wordt Unit Testing genoemd. Het proces van het vervolgens testen van de gehele component of applicatie om te zien of de verwachte resultaten worden geproduceerd, wordt integratietests genoemd. De derde manier staat bekend als User Interface Testing, het wordt gebruikt om in principe je applicatie te testen door het besturen van de browser zonder veel nadruk op de interne werking om verwachtingen te testen.

Wat is StateOfJS

State of JS is in feite een jaarlijks onderzoek naar alles wat JavaScript waar de meningen van ontwikkelaars die de enquête worden geregistreerd en prachtig gevisualiseerd om inzichten die de toestand van JavaScript in dat jaar betekenen te tonen.

De datapunten hebben betrekking op frontend web development frameworks, databases, state management, relaties tussen frameworks, ontvangst en gebruiksgemak, talen die compileren naar JavaScript, mobiele frameworks, build tools, JavaScript testing tools en een heleboel meer. Het is een zeer uitgebreide JavaScript-enquête die in 2016 werd gestart door Sacha Greif en een paar andere helpers en nu heeft het meer dan 20.000 reacties van ontwikkelaars in de nieuwste editie.

Waarom StateOfJS?

Ja, State of JS is eigenlijk de allereerste JavaScript-only ontwikkelaarsenquête die universeel wordt gerespecteerd voor zover het de JavaScript-gemeenschap betreft. Er zijn andere zeer populaire enquêtes, zoals de stackoverflow-ontwikkelaarsenquête met meer dan 100.000 respondenten en zelfs het State of Developer Ecosystem Report van Jetbrain met meer dan 6.000 respondenten, maar we gaan ons vandaag richten op de enquête State of JS.

Laten we een snel overzicht nemen van deze testframeworks in de volgorde waarin ze werden gevisualiseerd in de state of javascript 2018-enquête.

Tip: Als je met componenten werkt (React, ES6 enz.) gebruik je Bit om ze gemakkelijk te delen, te organiseren en te hergebruiken tussen apps- om sneller te bouwen. Je kunt het ook gebruiken om componenten individueel te testen in de cloud, voordat je ze gebruikt. Probeer het eens.

Jest

Jest, aantoonbaar een van de meest populaire javascript testing framework met meer dan 22.000 ⭐️ op github werd gebouwd en wordt voortdurend onderhouden door het team van Facebook. Het is een zero-configuratie javascript test framework aanbevolen door React en de meest eenvoudig te gebruiken ook. Jest heeft een zeer indrukwekkende acceptatiegraad in 2018 door de javascript gemeenschap.

Het is zeer performant, met een eenduidige en handige gebruikersinterface. Het wordt geleverd met spionnen en mocks en creëert standaard testbullals. Het voorziet ook in snapshot testen en wordt geleverd met een ingebouwde code coverage tool. Het is ongelooflijk snel en een van de beste opties voor beginners die willen beginnen met het testen van hun javascript code. Er is ook een ton van de middelen online beschikbaar over Jest.

Mocha

Mocha met meer dan 16.000 ⭐️ op github is de meest gebruikte javascript testen kader voor jaren nu. Het wordt gebruikt met assertions van derden, mocking en spionage tools zoals chai of enzyme. Naast het enorme ecosysteem heeft Mocha goed gevestigde opties met een geweldige documentatie. Het is zeer flexibel en open voor veel uitbreidingen.

Hoewel we een kleine verschuiving van de dominantie van Mocha naar Jest zien, maar Mocha is nog steeds de meest gebruikte testtool en de meest afhankelijke library en javascript ontwikkelaars laten het nog niet los, voornamelijk vanwege de rijkdom aan vrijheid en flexibiliteit die komt met het gebruik van Mocha. De Mocha gemeenschap is zeer massaal en er zijn tonnen van middelen die er over het gebruik en use cases.

Jasmine

Jasmine is universeel bekend als het test framework dat officieel wordt aanbevolen door Angular voor ontwikkelaars om te gebruiken, werd de Jest framework gebouwd op basis van Jasmine. Met meer dan 14.000 ⭐️ op github Jasmine is een van de meest populaire frameworks voor het testen van javascript, het is ook een van de oudste ook met de meeste middelen en ondersteuning van de gemeenschap. Angular ontwikkelaars zouden het gemakkelijk vinden om te gebruiken en te integreren aangezien de officiële Angular documentatie ook voorstelt om Jasmine te gebruiken. Het is heel gemakkelijk om aan de slag te gaan, dit is waarschijnlijk een van de dingen die Jest heeft geïnspireerd. In 2018 zien we volgens het onderzoek een verschuiving in het gebruik van Jasmine naar Jest en ook meer react-applicaties die worden getest door jasmine in vergelijking met angular.

Het is heel belangrijk om op te merken dat tests voor Angular applicaties eenvoudig met Jest kunnen worden uitgevoerd en het praktisch alleen maar om voorkeur gaat.

Karma

Karma met meer dan 10.000 ⭐️ op github is een soort general use case javascript testing framework. Je kunt testen uitvoeren in je browser of in browser-achtige omgevingen zoals jsdom. Er is ondersteuning voor continue integratie tools zoals travis en jenkins, tests kunnen worden uitgevoerd op echte apparaten of op een headless phantomJs instantie. Het is framework agnostisch dus je kunt je tests beschrijven met Jasmine, Mocha of een eenvoudige adapter schrijven voor elk gewenst framework.

Tests kunnen ook op afstand worden uitgevoerd vanuit je terminal of IDE of met behulp van diensten zoals BrowserStack.

AVA

AVA met meer dan 15.000 ⭐️ op github is momenteel het meest minimalistische javascript test framework dat er is dat tests parallel uitvoert. AVA is een test runner voor Node.js met een beknopte API, gedetailleerde foutuitvoer, omhelzing van nieuwe taalfuncties en procesisolatie waarmee je tests effectiever kunt schrijven.

Het wordt geleverd met ondersteuning voor snapshot-testen en typescript en voert tests uit in watch-modus waardoor het echt snel is; het biedt ook een geïsoleerde omgeving voor elk testbestand. Het is gemakkelijk om te beginnen en heeft een verzameling van middelen online beschikbaar.

Cypress

Met meer dan 9.000 ⭐️ op github, Cypress is een zeer snelle en betrouwbare javascript testing tool. Het injecteert in principe tests in een webapplicatie, het biedt een zeer duidelijke en uitgebreide documentatie en is in voortdurende concurrentie met een ander testframework TestCafe.

Het wordt ook geleverd met ondersteuning voor Mocha en heeft een echt goede manier van loggen van testresultaten in een dashboard en gemakkelijk debuggen. Het is het testframework om naar uit te kijken in 2019 met massaal groeiende acceptatiegraad.

Puppeteer

Met meer dan 43.000 ⭐️ op github, Puppeteer gebouwd door het team bij Google is een Node-bibliotheek die een high-level API biedt om Chrome of Chromium te besturen via het DevTools-protocol. Puppeteer draait standaard headless, maar kan worden geconfigureerd om volledige (niet-headless) Chrome of Chromium te draaien.

Het is nieuw in de testscene, maar heeft al veel ontwikkelaars die het gebruiken (bedankt google!) Het is ook behoorlijk snel, omdat het native is, ondersteunt het momenteel niet veel extensies, maar de toekomst is echt helder en veelbelovend.

QUnit

Met meer dan 3.700 ⭐️ op github, QUnit is een JavaScript unit testing framework dat oorspronkelijk werd ontwikkeld voor het testen van jQuery, jQuery UI en jQuery Mobile, het is een generiek framework voor het testen van elke JavaScript-code. Het ondersteunt client-side omgevingen in webbrowsers, en server-side.

QUnit is vergelijkbaar met andere unit testing frameworks zoals JUnit, maar maakt gebruik van de functies die JavaScript biedt en helpt bij het testen van code in de browser, zoals ingebouwde ondersteuning voor asynchroniciteit en exception handling.

Chai

Met 6.000 ⭐️ op github, Chai is een Behaviour-Driven Development en Test-driven development assertion library, vergelijkbaar met Node’s ingebouwde assert. Het maakt testen veel eenvoudiger door je veel asserties te geven die je tegen je code kunt gebruiken. Het wordt geleverd met ondersteuning voor elk ander test framework zoals Mocha.

TestCafe

TestCafe met meer dan 5.900 ⭐️ op github, is een node framework gebruikt voor end-to-end javascript applicatie testen. Het wordt geleverd met typescript ondersteuning en heeft een echt mooie interface voor het loggen van testresultaten.

Het draait op alle populaire omgevingen, waaronder Windows, MacOS, en Linux. Het ondersteunt desktop, mobiel, remote en cloud browsers (UI of headless). Het heeft ook zeer uitgebreide documentatie en een groeiende gemeenschap.

Eervolle vermeldingen

Protractor

Conclusie

admin

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

lg