Parametrisierte Tests mit Jasmine in TypeScript / Angular

26.01.2023

Parametrisierte Tests erlauben es, einen Testfall mit unterschiedlichen Parametern und erwarteten Ergebnissen zu testen, ohne dass Code dupliziert werden muss. Im TypeScript- / Angular-Umfeld ist dies mit Jasmine sehr leicht zu realisieren.

In folgendem einfachen Beispiel wird eine Funktion namens „shorten“ getestet. Diese soll eine Texteingabe durch „…“ abkürzen, wenn diese eine definierte Länge (limit) überschreitet.

In diesem einfachen Beispiel könnte man natürlich auch die zwei Zeilen mit der eigentlichen Logik duplizieren und die Werte dort direkt hineingeben. Dies hätte jedoch zur Folge, dass der Test komplett fehlschlägt, wenn nur ein einziger der Fälle nicht passt. Außerdem ist in der Realität oft Setup-Code notwendig, bevor die eigentliche Logik getestet werden kann. Dieser müsste dann ebenfalls dupliziert werden. Spätestens dann wird das Ganze anstrengend und aufwändig zu warten.

Unser parametrisierter Test erzeugt dagegen für jeden Eintrag im Array automatisch einen eigenen Test. So sieht man auf einen Blick, welche konkreten Fälle fehlschlagen. In unserem Beispiel scheint die Null-Behandlung noch nicht den Anforderungen zu entsprechen:

Beispiel: parametrisierter Test mit Jasmine

Hier noch ein weiteres Beispiel, welches zeigt, wie man einen parametrisierten Test nutzen kann, um einen Validator zu testen:

Quellen / Links:

 

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*