Karma ist ein JavaScript-Testläufer, der mit Node.js erstellt wurde und für Unit-Tests gedacht ist.
Der Winkelmesser ist für End-to-End-Tests vorgesehen und verwendet Selenium Web Driver, um Tests durchzuführen.
Beide wurden vom Angular-Team hergestellt. Sie können jede beliebige Assertionsbibliothek verwenden.
Screencast: Karma Erste Schritte
Verwandte :
Profis :
- Verwendet node.js, also kompatibel mit Win / OS X / Linux
- Führen Sie Tests über einen Browser oder ohne Kopf mit PhantomJS aus
- Auf mehreren Clients gleichzeitig ausführen
- Option zum Starten, Erfassen und automatischen Herunterfahren von Browsern
- Option zum Ausführen von Servern / Clients auf einem Entwicklungscomputer oder separat
- Führen Sie Tests über eine Befehlszeile aus (kann in ant / maven integriert werden)
- Schreiben Sie Tests im xUnit- oder BDD-Stil
- Unterstützt mehrere JavaScript-Testframeworks
- Tests beim Speichern automatisch ausführen
- Proxies fordern domänenübergreifende Anfragen an
- Mögliche Anpassung:
- Erweitern Sie es, um andere Test-Frameworks zu verpacken (Jasmine, Mocha, QUnit integriert)
- Ihre eigenen Behauptungen / Widerlegungen
- Reporter
- Browser-Starter
- Plugin für WebStorm
- Unterstützt von Netbeans IDE
Nachteile :
Ich bin völlig unqualifiziert, die Funktionen, Stärken und Schwächen von mocha.js zu kommentieren, aber es wurde mir nur von jemandem empfohlen, dem ich in der JS-Community vertraue.
Liste der von der Website gemeldeten Funktionen:
- Browser-Unterstützung
- einfache asynchrone Unterstützung, einschließlich Versprechen
- Testberichterstattung
- String Diff Unterstützung
- Javascript # API zum Ausführen von Tests
- ordnungsgemäßer Exit-Status für CI-Unterstützung usw.
- Erkennt und deaktiviert das Färben für Nicht-Ttys automatisch
- ordnet nicht erfasste Ausnahmen dem richtigen Testfall zu
- Unterstützung für asynchrone Test-Timeouts
- testspezifische Zeitüberschreitungen
- Unterstützung für Knurrbenachrichtigungen
- meldet Testdauer
- hebt langsame Tests hervor
- Unterstützung für Datei-Watcher
- globale variable Lecksuche
- Führen Sie optional Tests aus, die einem regulären Ausdruck entsprechen
- Auto-Exit, um ein "Hängen" mit einer aktiven Schleife zu verhindern
- Einfache Meta-Generierung von Suiten und Testfällen
- Unterstützung für mocha.opts-Dateien
- anklickbare Suite-Titel zum Filtern der Testausführung
- Unterstützung für Node-Debugger
- erkennt mehrere Aufrufe von done ()
- Verwenden Sie eine beliebige Assertionsbibliothek
- Erweiterbare Berichterstattung, gebündelt mit mehr als 9 Reportern
- erweiterbare Test-DSLs oder "Schnittstellen"
- vor, nach, vor jedem, nach jedem Haken
- Beliebige Transpiler-Unterstützung (Kaffee-Skript usw.)
- TextMate-Bundle
Dies ist nicht mehr vorhanden und leitet stattdessen zu sequential.js weiter
Yolpo ist ein Tool zur Visualisierung der Ausführung von Javascript. Javascript-API-Entwickler werden aufgefordert, ihre Anwendungsfälle zu schreiben, um ihre API anzuzeigen und mitzuteilen. Solche Anwendungsfälle bilden die Grundlage für Regressionstests.
Futuristischer Testläufer mit integrierter Unterstützung für ES2015. Obwohl JavaScript Single-Threaded ist, kann IO in Node.js aufgrund seiner asynchronen Natur parallel erfolgen. AVA nutzt dies und führt Ihre Tests gleichzeitig aus, was besonders für schwere E / A-Tests von Vorteil ist. Darüber hinaus werden Testdateien parallel als separate Prozesse ausgeführt, wodurch Sie eine noch bessere Leistung und eine isolierte Umgebung für jede Testdatei erhalten.
- Minimal und schnell
- Einfache Testsyntax
- Führt gleichzeitig Tests aus
- Erzwingt das Schreiben von Atomtests
- Keine impliziten Globalen
- Isolierte Umgebung für jede Testdatei
- Schreiben Sie Ihre Tests in ES2015
- Versprechen Sie Unterstützung
- Unterstützung der Generatorfunktion
- Unterstützung für asynchrone Funktionen
- Beobachtbare Unterstützung
- Erweiterte Asserts
- Optionale TAP-Ausgabe
- Stapelspuren reinigen
Ein mit Node.js erstellter JavaScript-Testläufer. Sehr modular und flexibel. Es wird mit einer eigenen Assertionsbibliothek geliefert, aber Sie können Ihre eigene hinzufügen, wenn Sie möchten. Die Assertionsbibliothek ist entkoppelt, sodass Sie sie auch mit anderen Testläufern verwenden können. Anstatt assert(!...)
oder zu verwenden expect(...).not...
, verwendet es, refute(...)
was eine schöne Wendung imho ist.
Ein Browser-JavaScript-Test-Toolkit. Es führt Browsertests mit Browser-Automatisierung (denken Sie an JsTestDriver), statische HTML-Seitentests im QUnit-Stil, Tests in kopflosen Browsern (PhantomJS, jsdom, ...) und mehr durch. Schauen Sie sich die Übersicht an !
Ein Node.js-Test-Toolkit. Sie erhalten dieselbe Testfallbibliothek, Assertionsbibliothek usw. Dies eignet sich auch hervorragend für Hybridbrowser und Node.js-Code. Schreiben Sie Ihren Testfall mit Buster.JS und führen Sie ihn sowohl in Node.js als auch in einem echten Browser aus.
Screencast: Buster.js Erste Schritte (2:45)
Profis :
- Verwendet node.js, also kompatibel mit Win / OS X / Linux
- Führen Sie Tests über einen Browser oder ohne Kopf mit PhantomJS durch (bald)
- Auf mehreren Clients gleichzeitig ausführen
- Unterstützt NodeJS-Tests
- Server / Clients müssen nicht auf dem Entwicklungscomputer ausgeführt werden (IE ist nicht erforderlich)
- Führen Sie Tests über eine Befehlszeile aus (kann in ant / maven integriert werden)
- Schreiben Sie Tests im xUnit- oder BDD-Stil
- Unterstützt mehrere JavaScript-Testframeworks
- Verschieben Sie Tests, anstatt sie zu kommentieren
- SinonJS eingebaut
- Tests beim Speichern automatisch ausführen
- Proxies fordern domänenübergreifende Anfragen an
- Mögliche Anpassung:
- Erweitern Sie es, um andere Test-Frameworks zu verpacken (JsTestDriver integriert)
- Ihre eigenen Behauptungen / Widerlegungen
- Reporter (xUnit XML, traditionelle Punkte, Spezifikation, Tap, TeamCity und mehr integrierte Funktionen)
- Passen Sie den HTML-Code an, mit dem die Browsertests ausgeführt werden
- Integration von TextMate und Emacs
Nachteile :
- Stil in der Beta kann also fehlerhaft sein
- Noch kein Plugin für Eclipse / IntelliJ)
- Gruppiert Ergebnisse nicht nach Betriebssystem / Browser / Version wie TestSwarm *. Der Browsername und die Version werden jedoch in den Testergebnissen ausgedruckt.
- Keine Historie früherer Testergebnisse wie TestSwarm *
- Funktioniert unter Windows ab Mai 2014 nicht vollständig
* TestSwarm ist auch ein Continuous Integration-Server, während Sie für Buster.js einen separaten CI-Server benötigen. Es werden jedoch xUnit-XML-Berichte ausgegeben, sodass die Integration in Hudson- , Bamboo- oder andere CI-Server einfach sein sollte .
https://github.com/jquery/testswarm
TestSwarm befindet sich offiziell nicht mehr in der aktiven Entwicklung, wie auf der GitHub-Webseite angegeben. Sie empfehlen Karma, Browserstack-Runner oder Intern.
Dies ist ein verhaltensgesteuertes Framework (wie im folgenden Zitat angegeben), das Entwickler interessieren könnte, die mit Ruby oder Ruby on Rails vertraut sind. Die Syntax basiert auf RSpec , die zum Testen in Rails-Projekten verwendet werden.
Jasmine-Spezifikationen können von einer HTML-Seite (in qUnit-Manier) oder von einem Testläufer (als Karma) ausgeführt werden.
Jasmine ist ein verhaltensgesteuertes Entwicklungsframework zum Testen Ihres JavaScript-Codes. Es hängt nicht von anderen JavaScript-Frameworks ab. Es ist kein DOM erforderlich.
Wenn Sie Erfahrung mit diesem Test-Framework haben, tragen Sie bitte mit weiteren Informationen bei :)
Projekthaus: http://jasmine.github.io/
QUnit konzentriert sich darauf, JavaScript im Browser zu testen und dem Entwickler so viel Komfort wie möglich zu bieten. Klappentext von der Website:
QUnit ist eine leistungsstarke, benutzerfreundliche JavaScript-Unit-Test-Suite. Es wird von den Projekten jQuery, jQuery UI und jQuery Mobile verwendet und kann jeden generischen JavaScript-Code testen
QUnit teilt einige Geschichte mit TestSwarm (oben):
QUnit wurde ursprünglich von John Resig als Teil von jQuery entwickelt. Im Jahr 2008 erhielt es eine eigene Haus-, Namens- und API-Dokumentation, die es anderen ermöglichte, sie auch für Unit-Tests zu verwenden. Zu der Zeit hing es noch von jQuery ab. Eine Neufassung im Jahr 2009 hat behoben, dass QUnit jetzt vollständig eigenständig ausgeführt wird. Die Assertionsmethoden von QUnit folgen der CommonJS Unit Testing-Spezifikation, die zu einem gewissen Grad von QUnit beeinflusst wurde.
Projekthaus: http://qunitjs.com/
Ein weiteres großartiges Tool ist sinon.js von Christian Johansen, dem Autor von Test-Driven JavaScript Development . Am besten von sich selbst beschrieben:
Standalone-Testspione, Stubs und Mocks für JavaScript. Keine Abhängigkeiten funktionieren mit einem Unit-Test-Framework.
Die Intern-Website bietet einen direkten Funktionsvergleich mit den anderen Testframeworks in dieser Liste. Es bietet mehr Funktionen als jedes andere JavaScript-basierte Testsystem.
Ein neues, aber sehr leistungsfähiges Test-Framework. Es ermöglicht auch Snapshot-basierte Tests. Dies erhöht die Testgeschwindigkeit und erzeugt eine neue Dynamik beim Testen
Schauen Sie sich einen ihrer Vorträge an: https://www.youtube.com/watch?v=cAKYQpTC7MA
Besser noch: Erste Schritte