11.5.2022 |

Angular Testing fakeAsync

Es gibt viele Vorteile fakeAsync vor waitForAsync vorzuziehen. Unter anderem, weil fakeAsync in der Lage ist nicht beendete asynchrone Operationen in einer Test-Suite aufzudecken bzw. auf diese durch eine Fehlermeldung hinzuweisen.

Hier ein paar Beispiele

Es gibt ein Fehler in den Akzeptanzkriterien. Jedoch wurde vergessen, die asynchrone Operationen durch den Aufruf von tick() zu beenden.

grafik

Fehlermeldung

grafik

Um den Fehler besser nachzuvollziehen zu können bzw. sich die eigentliche Fehlermeldung anzeigen zu lassen, muss man nur die Methode tick() aufrufen.

grafik

Hier erkennt man nun, dass es ein Fehler in den Akzeptanzkriterien gibt.

grafik


Der Aufruf von tick() in nur dann zwingend erforderlich, wenn es Überschneidungen in der Test-Suite gibt oder wie oben beschrieben ein Fehler in der Implementierung vorliegt und die eigentliche Fehlermeldung angezeigt werden soll.

grafik grafik

Des Weiteren bietet fakeAsync eine "Zeitreise" an, welche vor allem nützlich ist, wenn ein Wert öfter bzw. zu einem bestimmten Zeitpunkt in einer asynchrone Operationen erwartet wird.

grafik

Dennis Hundertmark
Zur Übersicht

Mehr vom DevSquad...

Jan Sauer

Using imports from CDNs do not work like they used to

Jan Sauer

How does Spring Boot handle shutdowns