TestNG - Ausführen von Tests

Die Testfälle werden mit ausgeführt TestNGKlasse. Diese Klasse ist der Haupteinstiegspunkt für die Ausführung von Tests im TestNG-Framework. Benutzer können ihr eigenes TestNG-Objekt erstellen und es auf viele verschiedene Arten aufrufen, z.

  • Auf einer vorhandenen testng.xml.

  • Auf einer synthetischen testng.xml, die vollständig aus Java erstellt wurde.

  • Durch direktes Einstellen der Testklassen.

Sie können auch definieren, welche Gruppen eingeschlossen oder ausgeschlossen werden sollen, Parameter zuweisen usw. Die Befehlszeilenparameter sind:

  • -d Ausgabeverzeichnis: Geben Sie das Ausgabeverzeichnis an.

  • -testclass class_name: Gibt einen oder mehrere Klassennamen an.

  • -testjar jar_name: Gibt das Jar an, das die Tests enthält.

  • -sourcedir src1; src2 :; getrennte Liste der Quellverzeichnisse (wird nur verwendet, wenn Javadoc-Annotationen verwendet werden).

  • -target

  • -groups

  • -testrunfactory

  • -listener

In unserem Beispiel unten erstellen wir für das TestNG-Objekt eine vorhandene testng.xml.

Erstellen Sie eine Klasse

Erstellen Sie eine zu testende Java-Klasse, z. MessageUtil.java im C:\>TestNG_WORKSPACE.

/*
* This class prints the given message on console.
*/

public class MessageUtil {

   private String message;

   //Constructor
   //@param message to be printed
   public MessageUtil(String message) {
      this.message = message;
   }
      
   // prints the message
   public String printMessage() {
      System.out.println(message);
      return message;
   }   
}

Erstellen Sie eine Testfallklasse

  • Erstellen Sie eine Java-Testklasse, z. SampleTest.java.

  • Fügen Sie Ihrer Testklasse eine Testmethode testPrintMessage () hinzu.

  • Fügen Sie der Methode testPrintMessage () einen Annotation @Test hinzu.

  • Implementieren Sie die Testbedingung und überprüfen Sie die Bedingung mithilfe der assertEquals-API von TestNG.

Erstellen Sie eine Java-Klassendatei mit dem Namen SampleTest.java in C:\>TestNG_WORKSPACE.

import org.testng.Assert;
import org.testng.annotations.Test;

public class SampleTest {
	
   String message = "Hello World";
   MessageUtil messageUtil = new MessageUtil(message);

   @Test
   public void testPrintMessage() {
      Assert.assertEquals(message, messageUtil.printMessage());
   }
}

Erstellen Sie testng.xml

Als nächstes erstellen wir die Datei testng.xml in C:\>TestNG_WORKSPACE, um Testfälle auszuführen. Diese Datei erfasst Ihre gesamten Tests in XML. Mit dieser Datei können Sie ganz einfach alle Ihre Testsuiten und ihre Parameter in einer Datei beschreiben, die Sie in Ihrem Code-Repository abrufen oder per E-Mail an Kollegen senden können. Es macht es auch einfach, Teilmengen Ihrer Tests zu extrahieren oder mehrere Laufzeitkonfigurationen aufzuteilen (z. B. würde testngdatabase.xml nur Tests ausführen, die Ihre Datenbank trainieren).

<?xml version = "1.0" encoding = "UTF-8"?>

<suite name = "Sample test Suite">
   <test name = "Sample test">
      <classes>
         <class name = "SampleTest" />
      </classes>
   </test>
</suite>

Kompilieren Sie den Testfall mit javac.

C:\TestNG_WORKSPACE>javac MessageUtil.java SampleTest.java

Führen Sie nun die Datei testng.xml aus, mit der der im Tag <test> definierte Testfall ausgeführt wird.

C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml

Überprüfen Sie die Ausgabe.

Hello World

===============================================
Sample test Suite
Total tests run: 1, Failures: 0, Skips: 0
===============================================