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