Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Häufige Matcher | Verwendung eines Testautomatisierungs-Frameworks
Einführung in die QA-Automatisierungstests
course content

Kursinhalt

Einführung in die QA-Automatisierungstests

Einführung in die QA-Automatisierungstests

1. Einführung in das Automatisierte Testen
2. Verwendung eines Testautomatisierungs-Frameworks
3. Browser-Automatisierung mit Selenium
4. Einführung in das Mittlere Automatisierungstesten

book
Häufige Matcher

In diesem Kapitel werden wir uns einige gängige Matcher ansehen, die zum Testen verschiedener Arten von Werten verwendet werden können.

Arrays und Objekte abgleichen

Der toEqual Matcher vergleicht zwei Elemente auf einer tiefen Ebene. Daher ist er nützlich zum Abgleichen von Strukturen wie Array oder vielleicht einem Object:

Tiefenprüfung

Die Methode toContain überprüft, ob das übergebene Array einen bestimmten Wert enthält:

Die Methode toContainEqual wird für komplizierte Arrays verwendet, um tiefe Vergleiche durchzuführen:

Übereinstimmung von Zeichenfolgenmustern

Die Methode toMatch wird auch zum Abgleichen von Zeichenfolgen verwendet:

Dieser Matcher vergleicht die beiden Zeichenfolgen nicht genau, sondern sucht nach einem Substring innerhalb der ursprünglichen Eingabe. Daher besteht auch die folgende Assertion:

Tatsächlich akzeptiert die Methode toMatch einfach einen Regulären Ausdruck (RegEx), der nach dem angegebenen Muster im ursprünglichen Eingabestring sucht.

Ein Substring oder einfacher Text ist ein gültiger RegEx-Ausdruck, daher sucht das einfache Schreiben von World nach dem Begriff World im Eingabestring, und es passt, weil "World" ein Substring von "Hello World" ist.

Ein Regulärer Ausdruck ist einfach eine Zeichenfolge, die verwendet wird, um ein bestimmtes Muster darzustellen. Reguläre Ausdrücke werden verwendet, um effizient nach Textstücken zu suchen, die einem gewünschten Muster entsprechen. Die meisten Programmiersprachen wie Python und JavaScript verfügen über integrierte Unterstützung für Reguläre Ausdrücke, und Sprachen, die keine integrierte Unterstützung haben, verfügen über externe Bibliotheken, die installiert werden können, um Unterstützung für Reguläre Ausdrücke hinzuzufügen.

Regex folgt einer spezifischen Syntax, genau wie Programmiersprachen. Es ist nicht notwendig, Reguläre Ausdrücke zu lernen, um in diesem Kurs voranzukommen, jedoch können wir uns ein Beispiel ansehen, um zu sehen, wie Reguläre Ausdrücke im Allgemeinen nützlich sein können.

Das Muster /^[a-m]{5}$/ überprüft, ob der Eingabestring 5 Zeichen lang ist und nur Kleinbuchstaben von 'a' bis 'm' enthält.

Reguläre Ausdrücke sind ziemlich robust und können verwendet werden, um nach jeder Art von Muster zu suchen. Zum Beispiel überprüft das Muster /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/, ob der Eingabestring eine gültige E-Mail ist.

Überprüfung auf `null` und `undefined`

Um zu überprüfen, ob ein Wert null ist, können wir keine der vorherigen Matcher verwenden, da null weder eine Ganzzahl, eine Struktur noch ein String ist. In diesem Fall verwenden wir den Matcher toBeNull, der kein Argument akzeptiert:

JavaScript hat auch das Schlüsselwort undefined. Wir können überprüfen, ob ein Wert undefined ist, indem wir den Matcher toBeUndefined verwenden:

Es gibt auch einen Matcher, um das Gegenteil zu überprüfen. Der toBeDefined Matcher überprüft, dass der Zielwert definiert ist.

Überprüfung von Booleschen Werten & Wahrheitswerten

Um zu überprüfen, ob ein Wert True oder False ist, verwenden wir die Methoden toBeTruthy und toBeFasly :

Diese Methoden überprüfen die „Wahrheit“ oder „Falschheit“ eines Wertes. Jeder Wert, der innerhalb einer if-Bedingung als True betrachtet würde, ist ein Thuthy-Wert, andernfalls ist es ein Falsy-Wert.

In diesem Fall wird "turthy" ausgegeben, was darauf hinweist, dass 10 ein wahrer Wert ist. Im Gegensatz dazu wird beim Ersetzen von 10 durch eine 0 oder einen leeren String ('') "falsy" ausgegeben.

Überprüfen auf Ausnahmen

Wir können auch überprüfen, ob eine bestimmte Ausnahme von einer Funktion ausgelöst wurde, indem wir den toThrow-Matcher verwenden.

Angenommen, wir haben die klassische factorial-Funktion, die eine Ausnahme auslöst, wenn eine ungültige Eingabe an die Funktion übergeben wird:

Wir können den toThrow Matcher verwenden, um zu testen, ob die Funktion tatsächlich einen Fehler / eine Ausnahme bei ungültiger Eingabe auslöst:

Die toThrow Methode akzeptiert ein Argument, das der Textinhalt der erwarteten Ausnahme sein soll. Da sie den Text der ausgelösten Ausnahme vergleicht, sollte daher der genaue Text der erwarteten Ausnahme in der toThrow Methode übergeben werden.

Negation

Wir können Matcher auch negieren, indem wir den Matcher nach einem not verketten:

1. Was ist der Zweck des toEqual Matchers in Jest?

2. Welchen Matcher würden Sie verwenden, um zu überprüfen, ob ein Array ein bestimmtes Objekt mit übereinstimmenden Eigenschaften enthält?

3. Wann würden Sie den Matcher toMatch verwenden?

4. Wie überprüfen Sie, ob eine Funktion eine Ausnahme mit einer bestimmten Nachricht auslöst?

Was ist der Zweck des toEqual Matchers in Jest?

Was ist der Zweck des toEqual Matchers in Jest?

Wählen Sie die richtige Antwort aus

Welchen Matcher würden Sie verwenden, um zu überprüfen, ob ein Array ein bestimmtes Objekt mit übereinstimmenden Eigenschaften enthält?

Welchen Matcher würden Sie verwenden, um zu überprüfen, ob ein Array ein bestimmtes Objekt mit übereinstimmenden Eigenschaften enthält?

Wählen Sie die richtige Antwort aus

Wann würden Sie den Matcher toMatch verwenden?

Wann würden Sie den Matcher toMatch verwenden?

Wählen Sie die richtige Antwort aus

Wie überprüfen Sie, ob eine Funktion eine Ausnahme mit einer bestimmten Nachricht auslöst?

Wie überprüfen Sie, ob eine Funktion eine Ausnahme mit einer bestimmten Nachricht auslöst?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 7
We're sorry to hear that something went wrong. What happened?
some-alt