TestNG - Exécution de tests

Les cas de test sont exécutés en utilisant TestNGclasse. Cette classe est le principal point d'entrée pour exécuter des tests dans le framework TestNG. Les utilisateurs peuvent créer leur propre objet TestNG et l'appeler de différentes manières, par exemple:

  • Sur un testng.xml existant.

  • Sur un testng.xml synthétique, entièrement créé à partir de Java.

  • En définissant directement les classes de test.

Vous pouvez également définir les groupes à inclure ou exclure, affecter des paramètres, etc. Les paramètres de ligne de commande sont -

  • -d outputdir: spécifie le répertoire de sortie.

  • -testclass nom_classe: spécifie un ou plusieurs noms de classe.

  • -testjar nom_jar: spécifie le fichier jar contenant les tests.

  • -sourcedir src1; src2:; liste séparée des répertoires source (utilisée uniquement lorsque des annotations javadoc sont utilisées).

  • -target

  • -groups

  • -testrunfactory

  • -listener

Nous allons créer l'objet TestNG un testng.xml existant dans notre exemple ci-dessous.

Créer une classe

Créez une classe java à tester, disons, MessageUtil.java dans 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;
   }   
}

Créer une classe de cas de test

  • Créez une classe de test java, par exemple, SampleTest.java.

  • Ajoutez une méthode de test testPrintMessage () à votre classe de test.

  • Ajoutez une annotation @Test à la méthode testPrintMessage ().

  • Implémentez la condition de test et vérifiez la condition à l'aide de l'API assertEquals de TestNG.

Créez un fichier de classe Java appelé SampleTest.java dans 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());
   }
}

Créer testng.xml

Ensuite, créons le fichier testng.xml dans C:\>TestNG_WORKSPACE, pour exécuter des cas de test. Ce fichier capture l'ensemble de vos tests en XML. Ce fichier facilite la description de toutes vos suites de tests et de leurs paramètres dans un seul fichier, que vous pouvez archiver dans votre référentiel de code ou par e-mail à vos collègues. Cela facilite également l'extraction de sous-ensembles de vos tests ou la division de plusieurs configurations d'exécution (par exemple, testngdatabase.xml n'exécuterait que des tests qui exercent votre base de données).

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

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

Compilez le scénario de test à l'aide de javac.

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

Maintenant, exécutez le testng.xml, qui exécutera le cas de test défini dans la balise <test>.

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

Vérifiez la sortie.

Hello World

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