Mocha zählt zu den beliebtesten Javascript-Testframeworks in Node.js-Anwendungen. Es ist äußerst funktionsstark, flexibel und bietet eine einfache Handhabung für asynchrone und synchrone Tests. Durch seine strukturierte Syntax sorgt es für verständlichen und lesbaren Code. Doch damit noch nicht genug. Das vom Entwickler TJ Holowaychuk entwickelte Framework bietet die Möglichkeit, umfangreiche Dokumentationen und Reports für Testfälle zu erstellen und die Tests in unterschiedlichen Browsern laufen zu lassen (Cross-Browser-Testing). Besonders häufig wird das Open-Source-Projekt in Verbindung mit der Assertion-Bibliothek Chai für Unit- und API-Testing eingesetzt. Auch in Kombination mit dem Selenium Webdriver für Oberflächentests erfreut es sich großer Beliebtheit.
Geschichte
TJ Holowaychuk, der neben Mocha übrigens auch noch viele andere spannende Open-Source-Projekt verfolgt, setzte sich bei der Entwicklung des Frameworks ein Ziel: Tests sollen in einfacher und strukturierter Weise erstellt werden können, ohne sich dabei an eine konkrete Methodik (BBD vs. TTD) binden zu müssen. Holowaychuk wollte es ermöglichen, ein breites Spektrum unterschiedlicher Testing-Cases mit Mocha abzudecken – mit Erfolg. Mocha ist inzwischen seit 2011, also fast 15 Jahre am Markt.
Was für Mocha spricht
- Simple Einbettung in Node.js-Umgebungen
- Einfache Syntax wie describe() (Testsuits) und it()-Blöcke (Tests), die selbst Personen ohne Programmiererfahrung nachvollziehen können
- Unterstützung von synchronen und asynchronen Tests
- Kann mit verschiedenen Assertion-Bibliotheken wie Chai kombiniert werden
- Für Testvorbereitungen und Clean-ups stehen Hooks wie before() und after() zur Verfügung
- Lässt sich mit verschiedenen Berichterstellungs-Tools wie Allure kombinieren
- Testfälle können sowohl nach Test-Driven-Development als auch Behavior-Driven-Development-Konzepten erstellt werden
- Kann in Kombination mit Sinon.js zum Simulieren von Timern und Spying-Funktionen verwendet werden
Was gegen Mocha spricht
- Keine integrierte Assertion- und Spying-Funktionen, hierfür müssen zunächst Bibliotheken installiert und konfiguriert werden
Fazit zu Mocha
Das Framework wird dank seiner großen Community und einfachen Handhabung heute von Entwicklern auf der ganzen Welt verwendet. Besonders in der Kombination mit Assertion-Bibliotheken wie Chai ist es sehr beliebt. Wissensdurstige können auf der offiziellen Website des Tools Mocha – the fun, simple, flexible JavaScript test framework mehr Informationen zum Tool finden.