TestNG - Übersicht
Beim Testen wird die Funktionalität einer Anwendung überprüft, um sicherzustellen, dass sie den Anforderungen entspricht. Unit-Tests werden auf Entwicklerebene ins Bild gesetzt, wo angemessene Maßnahmen ergriffen werden, um jede einzelne Einheit (Klasse oder Methode) zu testen, um sicherzustellen, dass das Endprodukt den Anforderungen entspricht.
JUnit hat Entwickler dazu gebracht, die Nützlichkeit von Tests, insbesondere von Komponententests, im Vergleich zu anderen Testframeworks zu verstehen. Mit einer eher einfachen, pragmatischen und strengen Architektur konnte JUnit eine große Anzahl von Entwicklern "infizieren". Schauen Sie sich unser Tutorial zu JUnit an, um ein gutes Verständnis seiner Funktionen zu erhalten. Gleichzeitig weist JUnit auch einige Mängel auf, die nachstehend aufgeführt sind -
Ursprünglich nur für Unit-Tests konzipiert, jetzt für alle Arten von Tests verwendet.
Abhängigkeitstests können nicht durchgeführt werden.
Schlechte Konfigurationskontrolle (setUp / tearDown).
Aufdringlich (zwingt Sie, Klassen zu erweitern und Ihre Methoden auf eine bestimmte Weise zu benennen).
Statisches Programmiermodell (zwingt Sie zum unnötigen Neukompilieren).
Die Verwaltung verschiedener Testsuiten in komplexen Projekten kann sehr schwierig sein.
Was ist TestNG?
Die Definition von TestNG gemäß seiner Dokumentation lautet wie folgt:
TestNG ist ein Testframework, das von JUnit und NUnit inspiriert ist, jedoch einige neue Funktionen einführt, die es leistungsfähiger und benutzerfreundlicher machen.
TestNG ist ein Open Source-Framework für automatisierte Tests. woNG meint NextGEnergie. TestNG ähnelt JUnit (insbesondere JUnit 4), ist jedoch keine JUnit-Erweiterung. Es ist von JUnit inspiriert. Es ist besser als JUnit, insbesondere beim Testen integrierter Klassen. Der Schöpfer von TestNG ist Cedric Beust .
TestNG beseitigt die meisten Einschränkungen des älteren Frameworks und bietet dem Entwickler die Möglichkeit, flexiblere und leistungsfähigere Tests zu schreiben. Da es stark von Java Annotations (eingeführt mit JDK 5.0) zum Definieren von Tests übernommen wurde, kann es Ihnen auch zeigen, wie Sie diese neue Funktion der Java-Sprache in einer realen Produktionsumgebung verwenden können.
TestNG-Funktionen
Unterstützt Anmerkungen.
TestNG verwendet mehr Java- und OO-Funktionen.
Unterstützt das Testen integrierter Klassen (z. B. muss standardmäßig nicht für jede Testmethode eine neue Testklasseninstanz erstellt werden).
Trennt den Testcode zur Kompilierungszeit von den Konfigurations- / Dateninformationen zur Laufzeit.
Flexible Laufzeitkonfiguration.
Führt 'Testgruppen' ein. Nachdem Sie Ihre Tests zusammengestellt haben, können Sie TestNG einfach bitten, alle "Front-End" -Tests oder "schnelle", "langsame", "Datenbank" -Tests usw. auszuführen.
Unterstützt abhängige Testmethoden, parallele Tests, Lasttests und Teilausfälle.
Flexible Plug-In-API.
Unterstützung für Multithread-Tests.