Ein schneller Überblick über die gefragtestengefragten Javascript-Testing-Frameworks, die im Mittelpunkt des Javascript-Ökosystems stehen und mit denen sich Entwickler 2019 vertraut machen sollten

Foto von Louis Reed auf Unsplash

TL;DR: In diesem Artikel betrachten wir die am meisten nachgefragten Javascript-Testing-Frameworks und überprüfen sie auf der Grundlage von Erkenntnissen aus dem Zustand der Javascript-Ergebnisse.

Generell gibt es grundsätzlich drei Arten oder Wege, wie eine Javascript-Anwendung getestet werden kann. Der erste Weg ist das Testen einzelner Funktionen separat oder unabhängig durch eine Art Blackbox-Methode, bei der Eingaben mit einer bereits bekannten Ausgabe versehen werden, um sicherzustellen, dass die erwarteten Ergebnisse erzeugt werden, dies wird Unit Testing genannt. Der Prozess, bei dem dann die gesamte Komponente oder Anwendung getestet wird, um zu sehen, ob die erwarteten Ergebnisse ausgegeben werden, wird als Integrationstest bezeichnet. Der dritte Weg ist als User Interface Testing bekannt und wird verwendet, um Ihre Anwendung grundsätzlich durch die Kontrolle des Browsers zu testen, ohne viel Wert auf die internen Abläufe zu legen, um die Erwartungen zu testen.

Was ist StateOfJS

State of JS ist im Grunde eine jährliche Umfrage über alles, was JavaScript betrifft, bei der die Meinungen der Entwickler, die an der Umfrage teilnehmen, aufgezeichnet und schön visualisiert werden, um Erkenntnisse zu zeigen, die den Zustand von JavaScript in diesem Jahr bedeuten.

Die Datenpunkte umfassen Frontend-Webentwicklungs-Frameworks, Datenbanken, Zustandsmanagement, Beziehungen zwischen Frameworks, Empfang und Benutzerfreundlichkeit, Sprachen, die zu JavaScript kompiliert werden, mobile Frameworks, Build-Tools, JavaScript-Test-Tools und vieles mehr. Es handelt sich um eine sehr umfassende JavaScript-Umfrage, die 2016 von Sacha Greif und einigen anderen Helfern ins Leben gerufen wurde und in der aktuellen Ausgabe über 20.000 Entwickler befragt hat.

Warum StateOfJS?

Ja, State of JS ist tatsächlich die allererste reine JavaScript-Entwicklerumfrage, die in der JavaScript-Community allgemein anerkannt ist. Es gibt andere sehr beliebte Umfragen wie die Stackoverflow-Entwicklerumfrage mit über 100.000 Befragten und sogar den State of Developer Ecosystem Report von Jetbrain mit über 6.000 Befragten, wir werden uns heute jedoch auf die State of JS-Umfrage konzentrieren.

Lassen Sie uns einen kurzen Überblick über diese Test-Frameworks in der Reihenfolge geben, in der sie in der State of javascript 2018 Umfrage dargestellt wurden.

Tipp: Wenn Sie mit Komponenten (React, ES6 usw.) arbeiten, verwenden Sie Bit, um sie einfach zu teilen, zu organisieren und zwischen Apps wiederzuverwenden – um schneller zu bauen. Sie können es auch verwenden, um Komponenten einzeln in der Cloud zu testen, bevor Sie sie verwenden. Probieren Sie es aus.

Jest

Jest, wohl eines der populärsten Javascript-Testing-Frameworks mit über 22.000 ⭐️ auf github wurde vom Team bei Facebook entwickelt und wird ständig gepflegt. Es ist ein Null-Konfigurations-Javascript-Testing-Framework, das von React empfohlen wird und auch das am einfachsten zu verwendende ist. Jest hat 2018 eine sehr beeindruckende Akzeptanzrate in der Javascript-Community.

Es ist sehr performant, mit einer eindeutigen und komfortablen Benutzeroberfläche. Es wird mit Spies und Mocks ausgeliefert und erstellt standardmäßig Testglobals. Es bietet auch Snapshot-Tests und wird mit einem eingebauten Code-Coverage-Tool geliefert. Es ist unglaublich schnell und eine der besten Optionen für Anfänger, die in die Prüfung ihrer Javascript-Code erhalten möchten. Es gibt auch eine Tonne von Ressourcen online über Jest.

Mocha

Mocha mit über 16.000 ⭐️auf github ist die am häufigsten verwendete Javascript-Testing-Framework für Jahre jetzt. Es wird mit Assertions, Mocking und Spionagetools von Drittanbietern wie Chai oder Enzyme verwendet. Abgesehen von dem massiven Ökosystem hat Mocha gut etablierte Optionen mit einer großartigen Dokumentation. Es ist sehr flexibel und offen für viele Erweiterungen.

Obwohl wir eine kleine Verschiebung der Dominanz von Mocha zu Jest sehen, ist Mocha immer noch das am meisten genutzte Testwerkzeug und die meistgenutzte Bibliothek, und Javascript-Entwickler lassen es noch nicht los, hauptsächlich wegen der Fülle an Freiheit und Flexibilität, die mit der Verwendung von Mocha einhergeht. Die Mocha-Community ist sehr groß und es gibt tonnenweise Ressourcen über die Nutzung und Anwendungsfälle.

Jasmine

Jasmine ist allgemein bekannt als das Test-Framework, das offiziell von Angular für Entwickler empfohlen wird, das Jest-Framework wurde auf Basis von Jasmine gebaut. Mit über 14.000 ⭐️auf github ist Jasmine eines der beliebtesten Frameworks zum Testen von Javascript, es ist auch eines der ältesten mit den meisten Ressourcen und der Unterstützung der Community. Angular-Entwickler finden es einfach zu verwenden und zu integrieren, da die offizielle Angular-Dokumentation auch die Verwendung von Jasmine vorschlägt. Es ist sehr einfach, damit anzufangen, das ist wahrscheinlich eines der Dinge, die Jest inspiriert haben. Im Jahr 2018 sehen wir laut der Umfrage eine Verschiebung der Nutzung von Jasmine zu Jest und auch mehr React-Anwendungen werden mit Jasmine im Vergleich zu Angular getestet.

Es ist sehr wichtig zu beachten, dass Tests für Angular-Anwendungen einfach mit Jest ausgeführt werden können und es praktisch nur um die Vorlieben geht.

Karma

Karma mit über 10.000 ⭐️auf github ist eine Art allgemeines Anwendungsfall-Javascript-Testframework. Man kann Tests im Browser oder in browserähnlichen Umgebungen wie jsdom ausführen. Es gibt Unterstützung für Continuous Integration Tools wie Travis und Jenkins, Tests können auf realen Geräten oder auf einer headless phantomJs Instanz ausgeführt werden. Es ist Framework-agnostisch, so dass Sie Ihre Tests mit Jasmine, Mocha beschreiben oder einen einfachen Adapter für jedes beliebige Framework schreiben können.

Tests können auch remote von Ihrem Terminal oder IDE oder mit Diensten wie BrowserStack ausgeführt werden.

AVA

AVA mit über 15.000 ⭐️auf github ist derzeit das minimalistischste Javascript-Testframework da draußen, das Tests parallel ausführt. AVA ist ein Test-Runner für Node.js mit einer übersichtlichen API, einer detaillierten Fehlerausgabe, einer Vielzahl neuer Sprachfeatures und einer Prozessisolierung, die es ermöglicht, Tests effektiver zu schreiben.

Es wird mit Unterstützung für Snapshot-Tests und Typescript ausgeliefert und führt Tests im Watch-Modus aus, was es wirklich schnell macht; es bietet auch eine isolierte Umgebung für jede Testdatei. Es ist einfach zu beginnen und hat eine Sammlung von Ressourcen online verfügbar.

Cypress

Mit über 9.000 ⭐️auf github, Cypress ist ein sehr schnelles und zuverlässiges Javascript-Testing-Tool. Es injiziert im Wesentlichen Tests in eine Webanwendung, bietet eine sehr klare und umfangreiche Dokumentation und steht in ständiger Konkurrenz zu einem anderen Test-Framework TestCafe.

Es wird auch mit Unterstützung für Mocha ausgeliefert und hat eine wirklich gute Möglichkeit, Testergebnisse in einem Dashboard zu protokollieren und einfach zu debuggen. Es ist das Test-Framework, nach dem man 2019 Ausschau halten sollte, da die Akzeptanz massiv steigt.

Puppeteer

Mit über 43.000 ⭐️auf github ist Puppeteer, das vom Team bei Google entwickelt wurde, eine Node-Bibliothek, die eine High-Level-API zur Steuerung von Chrome oder Chromium über das DevTools-Protokoll bereitstellt. Puppeteer läuft standardmäßig headless, kann aber so konfiguriert werden, dass Chrome oder Chromium vollständig (nicht-headless) ausgeführt wird.

Es ist neu in der Test-Szene, hat aber bereits eine Menge Entwickler, die es verwenden (danke Google!) Es ist auch ziemlich schnell, da es nativ ist, es unterstützt derzeit nicht viele Erweiterungen, aber die Zukunft ist wirklich hell und vielversprechend.

QUnit

Mit über 3.700 ⭐️auf github ist QUnit ein JavaScript Unit Testing Framework, das ursprünglich für das Testen von jQuery, jQuery UI und jQuery Mobile entwickelt wurde, es ist ein generisches Framework für das Testen von beliebigem JavaScript Code. Es unterstützt clientseitige Umgebungen in Webbrowsern und serverseitig.

QUnit ähnelt anderen Unit-Testing-Frameworks wie JUnit, nutzt aber die Funktionen, die JavaScript bietet und hilft beim Testen von Code im Browser, wie z. B. die eingebaute Unterstützung für Asynchronität und Ausnahmebehandlung.

Chai

Mit 6.000 ⭐️auf github ist Chai eine Behaviour-Driven Development und Test-driven Development Assertion Library, ähnlich wie Node’s built-in assert. Es macht das Testen viel einfacher, indem es Ihnen viele Assertions gibt, die Sie gegen Ihren Code ausführen können. Es wird mit Unterstützung für andere Test-Frameworks wie Mocha ausgeliefert.

TestCafe

TestCafe mit über 5.900 ⭐️auf github, ist ein Node-Framework, das für End-to-End-Javascript-Anwendungstests verwendet wird. Es wird mit Typescript-Unterstützung ausgeliefert und hat eine wirklich schöne Schnittstelle für die Protokollierung von Testergebnissen.

Es läuft auf allen gängigen Umgebungen einschließlich Windows, MacOS und Linux. Es unterstützt Desktop-, Mobil-, Remote- und Cloud-Browser (UI oder Headless). Es hat auch eine sehr ausführliche Dokumentation und eine wachsende Gemeinschaft.

Ehrenvolle Erwähnungen

Protractor

Abschluss

admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

lg