TestNG, wobei NG für „next Generation“ steht, ist ein Testautomatisierungsframework, das von JUnit (in Java) und NUnit (in C #) inspiriert wurde. TestNG kann für Unit-Tests, Funktionstests, Integrationstests und End-to-End-Tests verwendet werden.
TestNG hat schnell an Popularität gewonnen und ist eines der am häufigsten verwendeten Testframeworks unter Java-Entwicklern. Es verwendet hauptsächlich Java-Annotationen, um Testmethoden zu konfigurieren und zu schreiben, ähnlich wie JUnit.
Einführung von TestNG
Einige Funktionen, die TestNG gegenüber JUnit bietet:
- Extra Vor und nach Anmerkungen wie Vor / Nach Suite und Vor / Nach Gruppe
- Dependency testing
- Flexiblere Gruppierung von Testmethoden
- Multithread-Ausführung
- Eingebautes starkes Berichtsframework
TestNG ist in Java geschrieben und kann mit Java und anderen Java-bezogenen Sprachen wie Groovy verwendet werden.
In TestNG werden Suites und Tests hauptsächlich über XML-Dateien konfiguriert oder beschrieben. Standardmäßig lautet der Name der Datei testng.xml
, aber wir können ihr einen anderen Namen geben, wenn wir möchten.
Mit TestNG können die Entwickler die Testsuiten in XML-Dateien schreiben und entsprechende Pakete, Klassen und Methoden in ihre Testsuite aufnehmen (oder ausschließen). Es ermöglicht Entwicklern auch, Testmethoden in bestimmte benannte Gruppen zu gruppieren und sie als Teil der Testausführung einzuschließen oder auszuschließen.
Vorteile von TestNG
Lassen Sie uns nun weitere Funktionen / Vorteile von TestNG entdecken.
- Mehrere Vorher-Nachher-Annotationsoptionen
- XML-basierte Testkonfiguration und Testsuitendefinition
- Abhängige Methoden
- Benannte Gruppen / Gruppe von Gruppen
- Abhängige Gruppen
- Parametrierung von Testmethoden
- Datengesteuertes Testen
- Multithread-Testausführung
- Bessere Berichterstattung
Installation von TestNG in Eclipse
Bevor wir TestNG herunterladen und verwenden können, sollten mindestens Java 8 oder höher auf unserem System installiert sein.
Kopieren Sie die neueste Update-URL von der Update-Site.
Verwenden Sie die obige URL, um die TestNG-Unterstützung in Eclipse zu installieren. Gehen Sie zur Option: Hilfe > Neue Software installieren.
Klicken Sie auf die Schaltfläche Hinzufügen und wählen Sie die erforderlichen Komponenten aus, die installiert werden sollen.
Stimmen Sie jeder Lizenzvereinbarung zu, wenn Sie gefragt werden. TestNG-Unterstützung wird in den nächsten Minuten in der Eclipse-IDE installiert.
Möglicherweise wird die IDE nach Abschluss der Installation neu gestartet. Bitte starten Sie neu.
Java-Projekt mit TestNG-Abhängigkeiten erstellen
Bevor wir unseren ersten TestNG-Test schreiben, müssen wir ein Java-Projekt in Eclipse erstellen und unsere TestNG-Abhängigkeiten einbeziehen.
Gehen Sie zu Datei / Neu / Andere. Ein Fenster mit mehreren Optionen wird angezeigt.
Wählen Sie New Maven Project wie im folgenden Screenshot gezeigt und klicken Sie auf Next.
Wählen Sie den entsprechenden Maven-Archetyp aus.
Geben Sie die Maven-Koordinaten des Projekts ein.
Standardmäßig enthält Maven die Junit-Abhängigkeit in der Datei pom.xml
. Wir müssen die JUnit-Abhängigkeit entfernen und die neueste TestNG-Abhängigkeit einbeziehen.
<dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>7.4.0</version><scope>test</scope></dependency>
Jetzt können wir unsere Tests mit TestNG schreiben.
Erstellen unserer ersten TestNG-Klasse
Zuvor können Sie alle vorhandenen JUnit-Testklassen, die automatisch erstellt werden, löschen. Führen Sie nun die folgenden Schritte aus, um unsere erste TestNG-Klasse zu erstellen:
1. Gehen Sie zu Datei / Neu / Andere. Dadurch wird ein neues Fenster zum Hinzufügen von Assistenten in Eclipse geöffnet.
2. Wählen Sie TestNG class aus dem Fenster Add wizard und klicken Sie auf Next.
3. Klicken Sie im nächsten Fenster auf die Schaltfläche Durchsuchen und wählen Sie das Java-Projekt aus, zu dem Sie Ihre Klasse hinzufügen möchten.
4. Geben Sie den Paketnamen und den Namen der Testklasse ein und klicken Sie auf Fertig stellen.
5. In diesem Fenster können Sie auch verschiedene Anmerkungen auswählen, während Sie eine neue TestNG-Klasse erstellen. Wenn diese Option ausgewählt ist, generiert das Plugin beim Generieren der Klasse Dummy-Methoden für diese Annotationen. Dadurch wird unserem Projekt eine neue TestNG-Klasse hinzugefügt.
package com.howtodoinjava.testng.examples;import org.testng.annotations.Test;import org.testng.annotations.BeforeTest;import org.testng.annotations.AfterTest;public class AppTest { @Test public void f() { } @BeforeTest public void beforeTest() { } @AfterTest public void afterTest() { }}
Wir haben dem neu erstellten Java-Projekt in Eclipse erfolgreich eine neue TestNG-Testklasse hinzugefügt. Fühlen Sie sich frei, den Code nach Bedarf zu ändern. Lassen Sie uns nun die neu erstellte Testklasse über Eclipse ausführen.
TestNG-Test ausführen
5.1. Verknüpfungsoptionen
Beachten Sie die Testklasse in Eclipse IDE. Sie sehen einige unscharfe Texte wie „Alle ausführen“ oder „Ausführen | Debuggen“. Dies sind die Verknüpfungen, mit denen wir eine einzelne Testmethode oder Testklasse mit einem einfachen Mausklick ausführen oder debuggen können.
Wenn Sie die obigen Verknüpfungen aus irgendeinem Grund nicht sehen, befolgen Sie bitte die angegebenen Schritte, um die TestNG Run-Konfiguration zu erstellen und auszuführen.
5.2. Create Run Configuration
Führen Sie die folgenden Schritte aus, um Tests über Eclipse auszuführen:
1. Wählen Sie das Java-Projekt in Eclipse aus und gehen Sie zu Ausführen | Konfiguration ausführen.
2. Wählen Sie TestNG in den angegebenen Optionen aus und klicken Sie auf die Schaltfläche Neu, um eine neue Konfiguration zu erstellen.
3. Bitte beachten Sie, dass das TestNG-Plugin mehrere Optionen zum Ausführen Ihrer Testfälle wie folgt bietet:
- Klasse: Mit dieser Option können Sie den Klassennamen zusammen mit dem Paket angeben, um nur die genannte spezifische Testklasse auszuführen.
- Methode: Damit können Sie nur eine bestimmte Methode in einer Testklasse ausführen.
- Gruppen: Wenn Sie bestimmte Testmethoden einer bestimmten TestNG-Gruppe ausführen möchten, können Sie diese hier eingeben, um sie auszuführen.
- Paket: Wenn Sie alle Tests innerhalb eines Pakets ausführen möchten, können Sie diese in diesem Feld angeben.
- Suite: Falls Sie Suite-Dateien in Form von
testing.xml
-Dateien haben, können Sie diese hier zur Ausführung auswählen.
Geben Sie den Konfigurationsnamen als TestNGRunConfig
ein, wählen Sie die neu erstellte Klasse im Abschnitt Klasse aus und klicken Sie auf Übernehmen.
4. Wenn Sie nun die neu erstellte Konfiguration ausführen möchten, klicken Sie einfach auf Ausführen, nachdem Sie auf Anwenden geklickt haben.
Dadurch wird die von uns geschriebene TestNG-Testklasse kompiliert und ausgeführt. Das Ergebnis der Testausführung wird in der Konsole angezeigt und führt zu Fenstern von Eclipse, wie im folgenden Screenshot gezeigt.
Running: C:\Users\somelocalpath\testng-customsuite.xmlPASSED: f=============================================== Default test Tests run: 1, Failures: 0, Skips: 0==============================================================================================Default suiteTotal tests run: 1, Failures: 0, Skips: 0=============================================== Time taken by org.testng.reporters.XMLReporter@177b3cd: 23 ms Time taken by : 0 ms Time taken by org.testng.reporters.jq.Main@b8deef: 46 ms Time taken by org.testng.reporters.JUnitReportReporter@10ab323: 12 ms Time taken by org.testng.reporters.EmailableReporter2@5e176f: 13 ms Time taken by org.testng.reporters.SuiteHTMLReporter@d1e89e: 142 ms
Sie können die Testklasse auch ausführen, indem Sie sie auswählen und dann mit der rechten Maustaste darauf klicken, im Menü Ausführen als auswählen und dann TestNG Test auswählen.
In diesem TestNG-Tutorial lernten wir TestNG, die von TestNG angebotenen Funktionen, die Installation des TestNG-Plugins in Eclipse sowie das Schreiben und Ausführen von TestNG-Tests über Eclipse kennen.
Viel Spaß beim Lernen!!