Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

AngularJS: Testing und Best Practices
AngularJS: Testing und Best Practices
AngularJS: Testing und Best Practices
Ebook63 pages40 minutes

AngularJS: Testing und Best Practices

Rating: 5 out of 5 stars

5/5

()

Read preview

About this ebook

Das Framework AngularJS besitzt einen starken Fokus auf Testbarkeit, allerdings gibt es einen regelrechten Testdschungel zu durchforsten, um den passenden Test zu schreiben. Dieser shortcut soll motivieren, Tests für Ihre Applikation zu schreiben und die Qualität von AngularJS-Applikationen zu sichern. Kleinere Auschnitte lassen sich mit Unittests, größere mit End-to-End-Tests überprüfen. Sie erfahren, was End-to-End-Tests sind, warum Sie diese überhaupt benötigen und wie Sie die Tests in Ihre Applikation integrieren können. Im Anschluss an die End-to-End-Tests mit Protractor geht es um einige allgemeine Best Practices im Umgang mit Ihren AngularJS-Applikationen.
LanguageDeutsch
Release dateFeb 11, 2016
ISBN9783868025781
AngularJS: Testing und Best Practices

Related to AngularJS

Titles in the series (100)

View More

Related ebooks

Programming For You

View More

Related articles

Reviews for AngularJS

Rating: 5 out of 5 stars
5/5

1 rating0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    AngularJS - Sebastian Springer

    GmbH

    1 Setup und Testen von AngularJS-Applikationen

    AngularJS wurde mit einem Fokus auf Testbarkeit entwickelt. Das bedeutet nicht nur, dass Ihnen das Framework bei der Erstellung von Tests nicht im Weg steht, sondern Sie sogar bei der Formulierung von Tests unterstützt. In der Realität sieht es allerdings eher traurig aus, wenn es um gut getestete AngularJS-Applikationen oder gar testgetriebene Entwicklung mit AngularJS geht. Deswegen wollen wir das Dickicht des Testdschungels etwas lichten.

    Dieses Kapitel soll etwas Licht ins Dunkel bringen und Sie motivieren, Tests für Ihre Applikation zu schreiben. Das bedeutet eigentlich gar nicht so viel Aufwand und gibt Ihnen Sicherheit und eine gute Ausgangslage für eine Erweiterung oder Veränderung Ihrer Applikation.

    Wo liegt das Problem?

    Anfänglich ist es sehr einfach, mit AngularJS vorzeigbare Ergebnisse zu liefern. Sie generieren die HTML-Struktur der Seite, erstellen ein Modul für die Applikation und schreiben den ersten Controller. Dann noch schnell die Daten per $http, ngResource oder Restangular vom Server geholt und per ng-repeat dargestellt. Ein Formular zum Anlegen und Bearbeiten der Daten und schon steht der erste Prototyp. Dann kommen noch ein paar Erweiterungen hinzu, hier noch eine Idee ausprobiert, ein neuer Service eingefügt, der einen Teil der Businesslogik enthält, und schon haben Sie eine nette kleine Applikation. In der ganzen Euphorie ist eins allerdings auf der Strecke geblieben: die Tests. Das Fehlen von Tests hat meist gute Gründe – zum Beispiel bedeutet das Schreiben von Tests Aufwand. Schreiben Sie also einen oder mehrere Tests oder lassen Sie die Energie lieber in das noch nicht so komplexe Feature laufen? Außerdem testen Sie gerade zu Beginn der Entwicklung keine Systemkomponenten wie $http oder ng-repeat.

    Das mag stimmen, allerdings müssen Sie rechtzeitig den Absprung schaffen und damit beginnen, Tests zu schreiben, denn je länger Sie damit warten, desto aufwändiger wird es, sie in die Applikation zu integrieren. Irgendwann verlassen Sie den von AngularJS vorgegebenen Pfad und müssen eigene Logik implementieren. Spätestens, wenn Sie mit der Erstellung von Services beginnen oder komplexere Routinen in Ihren Controller einbauen, benötigen Sie Tests. Sobald Sie anfangen, zwischen verschiedenen Komponenten zu kommunizieren, wird die Situation noch unübersichtlicher, denn eine Änderung in einem Controller oder Service kaskadiert durch die halbe Applikation und ruft dabei unvorhergesehenes Verhalten hervor. Dabei steigt das Risiko, dass sich Fehler in Ihre Applikation einschleichen, stetig. Wann ist also der richtige Zeitpunkt, und wie beginnt man am besten mit dem Testen?

    Wie unterstützt AngularJS die Erstellung von Tests?

    Schon bei der initialen Entwicklung haben die Entwickler von AngularJS viel Wert auf Testbarkeit gelegt. Das macht sich am deutlichsten bemerkbar, wenn Sie einen Blick auf die Struktur des Frameworks und die Art und Weise, wie eine Applikation gebaut wird, werfen.

    Der Schlüssel zur Testbarkeit von AngularJS liegt in der losen Kopplung der einzelnen Komponenten. Sie bauen eine Applikation nicht in einem großen Block und auch nicht in einem etwas kleineren Block pro Feature, sondern strukturieren die Applikation in kleine Einheiten, die über definierte Schnittstellen miteinander kommunizieren. Diese Struktur ermöglicht den Umgang mit Abhängigkeiten, sodass Sie immer nur eine Einheit testen können und sich keine Gedanken über den Rest Ihrer Applikation machen müssen. Als Hilfestellung bietet Ihnen AngularJS einen Dependency-Injection-Mechanismus, bei dem Sie lediglich angeben müssen, welche Komponenten Sie benötigen. AngularJS stellt Ihnen diese dann zur Verfügung. Jede Abhängigkeit kann in einem Test durch ein Test-Double ersetzt werden, bei dem Sie bestimmen können, wie es sich im Testszenario verhalten soll. Funktionieren sämtliche Einheiten Ihrer Applikation für sich genommen, bildet dies eine solide Basis

    Enjoying the preview?
    Page 1 of 1