Um Entwicklern die Arbeit noch ein wenig weiter zu vereinfachen, gibt Ravi Kiran in einem Tutorial einige Tipps, wie man beim Testen von Services, Controllern und Providern in AngularJS vorgehen sollte.
Unit Tests von Services, Controllern und Providern in AngularJS
AngularJS wurde bereits mit einer guten Testbarkeit im Hinterkopf entwickelt, was vor allem durch die Aufteilung in verschiedene Komponenten vereinfacht wird. Zu den typischen Komponenten in einer AngularJS-Applikation gehören Services, die häufig von anderen Service-Sets abhängen, um ihre Aufgabe auszuführen. Bei Unit Tests müssen daher die entsprechenden Dependencies eines Services mit Mocks ersetzt werden.
Auch Controller lassen sich mit Unit Tests überprüfen, allerdings ist das Setup dafür ein anderes, als bei Unit Tests für Services. Aufpassen müssen Entwickler hierbei, dass die mit den Controllern verknüpften Views in Tests nicht geladen werden. Mit Unit Tests lassen sich sowohl Controller, die mit $scope, als auch Controller die mit der Controller as-Syntax genutzt werden, testen, wobei sich das Vorgehen in beiden Fällen leicht unterscheidet.
Provider können ebenfalls mit Unit Tests getestet werden. Wichtig dabei ist es, vor dem Beginn des Tests sicherzustellen, dass alle Module geladen und bereit sind – am besten, indem ein leerer Inject-Block zum Laden der Module genutzt wird. Weitere Tipps zum Durchführen von Unit Tests mit AngularJS sowie Code-Beispiele für alle hier nur kurz angesprochenen Tests gibt Ravi Kiran in seinem Artikel zum Thema Unit Testing in AngularJS.
Aufmacherbild: Helpful Tips von Shutterstock / Urheberrecht: Artkwin