Kursinhalt
Einführung in die QA-Automatisierungstests
Einführung in die QA-Automatisierungstests
Unit-Tests Schreiben
Die allgemeine Syntax zum Schreiben von Unit-Tests in Jest wird im folgenden Video erklärt:
Eine alternative Version von test
ist die it
-Funktion, die eine identische Syntax hat, aber aufgrund ihres kürzeren Namens einen kleinen Komfort bietet.
Die test
- oder it
-Funktion hat die folgende Syntax:
testDescription
ist eine kurze Beschreibung, worum es bei dem Test geht.callback
ist einfach eine Inline-Funktion, die den Testcode enthält.timeout
ist ein optionales Argument, das einen Wert in Millisekunden darstellt. Wenn der jeweilige Test länger als diese Dauer dauert, wird er als Fehler betrachtet. Dieser Wert beträgt standardmäßig 5000 oder 5 Sekunden.
Es ist wichtig zu beachten, dass mehrere expect-Anweisungen in einen einzigen Testfall aufgenommen werden können:
Dies gibt uns die Möglichkeit, alle Arten von Tests gründlich durchzuführen.
Falls Sie Tests in einer anderen Sprache durchführen müssen, können Sie einfach die Dokumentation des verwendeten Testframeworks einsehen, die typischerweise alle verfügbaren Methoden für Assertions auflistet.
Die expect
-Funktion erwartet ein Argument und die expect-Funktion selbst gibt ein Objekt einer Klasse namens JestMatchers zurück, die einige nützliche Methoden zur Durchführung von Assertions hat. Eine dieser Methoden ist toBe
, die wir zuvor betrachtet haben. Der folgende Code erläutert die Syntax:
Das obige Beispiel erstellt zwei zusätzliche Variablen, nämlich returnValue
, um das Ergebnis von sum(-1, -2)
zu speichern, und matcherObject
, um das von expect(returnValue)
zurückgegebene Objekt zu speichern.
Die konventionelle Syntax ist jedoch kürzer und prägnanter. Wir können die Summe-Funktion einfach direkt innerhalb der expect
-Klammern aufrufen, die das berechnete Ergebnis zurückgibt und es wiederum in die expect-Funktion übergibt, wodurch die Notwendigkeit einer zusätzlichen returnValue
-Variable entfällt:
Wir können unseren Code weiter verkürzen, indem wir einfach die matcherObject
-Variable eliminieren. Die expect
-Funktion gibt das Matcher-Objekt selbst zurück, daher kann die toBe
-Methode direkt daraus entsprechend ausgeführt werden:
Die oben erwähnte Syntax ist die konventionelle Methode, um einfache Assertions mit Jest zu schreiben. Die toBe
-Methode ist als Matcher bekannt, da sie zwei Werte vergleicht oder abgleicht. Matcher werden vom Matcher-Objekt bereitgestellt, das von der expect
-Funktion zurückgegeben wird.
Der toBe
-Matcher vergleicht zwei Werte eines beliebigen primitiven Typs strikt.
Es gibt viele Matcher zum Testen verschiedener Wertetypen. Der toBe
-Matcher wird zum Vergleichen von primitiven Typen wie Ganzzahlen, Fließkommazahlen, Zeichenfolgen oder Zeichen verwendet. Er ist jedoch nicht geeignet, um komplexere Elemente wie Arrays oder Objekte zu vergleichen, da er keinen tiefen Vergleich durchführt.
Danke für Ihr Feedback!