Einführung in JUnit Annotations

JUnit ist eines der leistungsstärksten Java-basierten und Open-Source-Test-Frameworks, das kostenlos auf dem Markt erhältlich ist. Es hilft bei der einfachen und schnellen Erstellung von Testfällen und der Ausführung von Testfällen gemäß den Anforderungen mit Hilfe von Anmerkungen. Anmerkungen enthalten im Wesentlichen zusätzliche Informationen zu den Klassen und Methoden, die im Java-Code verwendet werden. Es hilft beim Testen jeder einzelnen Einheitenkomponente, seien es Methoden, Klassen, Pakete oder Variablen. Es wird häufig für Unit-Tests von Anwendungen verwendet. Das neueste Upgrade von JUnit ist JUnit5. Es unterstützt den Selenium-Webtreiber zum Testen der Automatisierung von Web- und Mobilanwendungen. org. Junit ist das Paket, das alle Schnittstellen und Klassen zum Testen über JUnit enthält.

JUnit Annotation s mit Beispiel

Nachfolgend sind einige der JUnit-Anmerkungen aufgeführt:

1. @Vorher

Es gibt Szenarien, in denen einige Testfälle oder Testdaten erstellt werden müssen, bevor der eigentliche Testfall ausgeführt wird. In diesem Fall kamen @Before-Anmerkungen ins Bild. Wenn Sie eine öffentliche Methode mit dieser Annotation versehen, kann der Code / die Methode vor jeder tatsächlichen @ test-Methode ausgeführt werden. Bei der Vererbung werden zuerst die @before-Methoden der Oberklasse und dann die @before-Methoden der aktuellen Klasse aufgerufen.

2. @Nachher

Es ist genau das Gegenteil von @Before Annotation. Es wird in den Fällen verwendet, in denen einige Aktionen ausgeführt werden müssen, z. B. das Freigeben von Ressourcen, das Bereinigen des Arbeitsspeichers und das Drucken von Elementen auf der Konsole nach der Ausführung der @ test-Methode (nach der Ausführung jedes Testfalls). Es gibt einen wichtigen Punkt, der für die @ After-Annotation beachtet werden sollte: Sie wird auch dann ausgeführt, wenn die Methoden @test oder @before eine Ausnahme auslösen. Bei Unter- und Oberklassenbeziehung wird die @after-Methode der Unterklasse / aktuellen Klasse vor der @after-Methode der Oberklasse ausgeführt.

3. @BeforeClass

Diese Annotation wird in den Szenarien verwendet, in denen einige Aktionen ausgeführt werden müssen, bevor ein Testfall einer bestimmten Klasse ausgeführt wird, z. B. Herstellen einer Verbindung mit der Datenbank, Erstellen eines Eintrags in einer Datenbank, Eintrag in den Protokollen usw. When @BeforeClass Annotation wird vor jeder Methode verwendet. Diese Methode wird vor jeder Testmethode in einer Klasse ausgeführt. Die Funktionsweise ähnelt der der Annotation @Before, nur mit dem Unterschied, dass @Before die Methode vor der Ausführung jeder @test-Methode ausführt, während @BeforeClass nur einmal ausgeführt wird, dh vor der Ausführung einer @test-Methode in einer Klasse.

4. @AfterClass

Alle in der @ BeforeClass-Methode zugewiesenen Ressourcen müssen freigegeben werden, nachdem alle @ test-Methoden der aktuellen Klasse ausgeführt wurden. Diese Freigabe von Ressourcen oder alle wichtigen Aufgaben, die nach der Ausführung der gesamten Klasse ausgeführt werden sollen, werden von der @AfterClass-Methode ausgeführt. Einfach ausgedrückt, die @ AfterClass-Methode wird ausgeführt, nachdem die @ test-Methode der aktuellen Klasse ausgeführt wurde. Es wird nur einmal ausgeführt. @AfterClass-Methoden werden obligatorisch ausgeführt, auch wenn die @BeforeClass-Methoden eine Ausnahme auslösen.

Wie die @After-Methode funktioniert auch die @AfterClass-Methode ähnlich, mit der Ausnahme, dass die @After-Methode nach jeder @test-Methode einer Klasse ausgeführt wird, während die @AfterClass-Methode einmal ausgeführt wird, nachdem alle @test-Methoden einer Klasse ausgeführt wurden.

5. @ Test

Diese Anmerkung gibt an, dass die öffentliche Methode unter dieser Anmerkung ein Teil des Haupttestfalls ist, der ausgeführt werden muss. Die Methode unter @test definiert den Testfall als bestanden oder nicht bestanden, je nachdem, ob bei seiner Ausführung eine Ausnahme oder ein Fehler auftritt.

Es kann auch auf zwei Arten verwendet werden:

  • @Test (timeout = 500): Es wird der Parameter als timeout verwendet, der die Werte in Millisekunden akzeptiert. Der Testfall wird als fehlgeschlagen betrachtet, wenn die erwartete Ausführungszeit überschritten wird, und als bestanden, wenn die Ausführung innerhalb des angegebenen Zeitlimits erfolgreich war.
  • @Test (expected = Exception.class): Es gibt Situationen, in denen bestimmte Methoden eine bestimmte Ausnahme auslösen sollen . Der Testfall schlägt fehl, wenn die Methode keine oder die oben genannte Ausnahme auslöst.

6. @Ignore

Es gibt Szenarien, in denen wir einige Testfälle ignorieren und nicht ausführen möchten. @Ignore hilft auch dabei. Methoden unter den Annotationen @Ignore werden nicht ausgeführt und werden während der Ausführung des Codes ignoriert. Auch in den von TestNG generierten Berichten wird angezeigt, wie viele Testfälle ignoriert und wie viele Testfälle bestanden wurden.

Beispiel

Nehmen wir ein Beispiel für JUnit-Anmerkungen

package demo;
import org.junit.*;
public class JUnitAnnotationTest (
// Run once, before any @test method in the class are executed
@BeforeClass
public static void bClass() (
System.out.println("BeforeClass method is called”);
)
// Run once after all the @test methods of the class are executed
@AfterClass
public static void aClass() (
System.out.println("AfterClass method is called");
)
// Run before every @test method of a class is executed
@Before
public void bMethod() (
System.out.println("before method is called");
)
// Run after every @test method of class is executed
@After
public void aMethod() (
System.out.println("after method is called");
)
// Test method which has actual test case
@Test
public void testMethod() (
System.out.println("Test method is called");
)
)

Ausgabe:

Vorteile von JUnit Annotations

Im Folgenden sind einige der Vorteile von JUnit-Annotationen aufgeführt:

  1. JUnit bietet eine einfache Möglichkeit, die Testfälle gemäß den Anforderungen des Benutzers auf spezifische Weise auszuführen.
  2. Mit der JUnit können mehrere Testfälle einfach parallel ausgeführt werden, indem sie in einer Testsuite kombiniert werden.
  3. JUnit-Annotationen zur Automatisierung von Testfällen in Selenium bieten dem Benutzer einen sehr detaillierten und interaktiven, grafischen Bericht, der auch sehr benutzerfreundlich ist.
  4. Mit JUnit können die Parameter in der Methode auf sehr einfache Weise übergeben werden.
  5. Mit JUnit Annotation können Sie eine saubere Codierung durchführen, die sowohl für Tester als auch für Programmierer leicht verständlich ist.

Fazit

Die obige Erklärung beschreibt deutlich die Bedeutung des JUnit-Frameworks und die Reihenfolge, in der verschiedene Annotationen von JUnit aufgerufen werden. Es ist sehr wichtig, die verschiedenen Annotationen zu verstehen, bevor Sie sie in einem Programm verwenden, damit keine Probleme bei der Steuerung des Ausführungsflusses auftreten.

Empfohlene Artikel

Dies ist eine Anleitung zu JUnit Annotations. Hier diskutieren wir die Einführung und Anmerkungen von JUnit mit dem Beispiel, das @ Before, @ After, @ Test und @Ignore usw. enthält. Sie können auch unsere anderen vorgeschlagenen Artikel durchgehen, um mehr zu erfahren -

  1. Unit Testing
  2. White-Box-Test
  3. Selen-Architektur
  4. Testgeschirr