StateOfJS survey resultaten: welke JS testing frameworks zullen 2019 regeren?
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
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.