Unit-Tests mit dem JavaScript-Framework Jasmine
Seite 3: Fazit
Alternativen am Rande
Jasmine ist nicht das einzige Test-Framework für JavaScript. Zahlreiche andere buhlen mittlerweile um die Gunst der Entwickler. Ein "Test-Standard-Tool", wie es das beispielsweise bei PHP mit PHPUnit gibt, hat sich in JavaScript noch nicht herauskristallisiert. Stattdessen sind viele allgemeine Frameworks auf dem Markt. Darüber hinaus bringen noch fast alle JavaScript-Frameworks eigene Test-Umgebungen mit. Typische Vertreter sind QUnit für jQuery und DOH für Dojo. Neben den Tools, die sich auf Unit-Tests spezialisiert haben, gibt es solche, die eine statische Code-Analyse bevorzugen. Hierbei wird der Code nicht im Browser ausgeführt, sondern die Syntax lediglich auf Fehler hin analysiert. In anderen Sprachen geschieht das während des Kompilierens, was JavaScript aufgrund der ausschließlichen Interpretation nicht kann.
Für solche Tests wurde JSLint entwickelt. Das Tool findet übrigens nicht nur Syntaxfehler, sondern weist auf mögliche Code-Schwächen hin, die stilistische Gründe haben. Nachteil von JSLint ist sicherlich dessen Art der Handhabung, da das Tool ausschließlich online im Browser läuft. Für eine kontinuierliche Integration in die eigene Entwicklungsumgebung sollten Entwickler daher den Wrapper jslint4java verwenden.
Fazit
Automatisiertes Testen und testgetriebene Entwicklung sollten zum Rüstzeug jedes Entwicklers gehören. Bei JavaScript ist das allerdings nach wie vor meistens nicht der Fall. Schuld daran ist sicherlich auch der – längst überholte – Ruf von JavaScript, eine "Bilderwechsel-Sprache" zu sein. Dabei ist gerade JavaScript aufgrund der sich unterschiedlich verhaltenden Laufzeitumgebungen ein ideales Testgebiet. Mit Jasmine steht ein erstklassiges Testframework für Behaviour-driven Develepoment zur Verfügung.
Daniel Koch
arbeitet als freiberuflicher Entwickler und Autor.
(ane)