TestNG - Exécuter des tests JUnit

Maintenant que vous avez compris TestNG et ses différents tests, vous devez maintenant vous inquiéter de la façon de refactoriser votre code JUnit existant. Il n'y a pas lieu de s'inquiéter, car TestNG offre un moyen de passer de JUnit à TestNG à votre propre rythme. Vous pouvez exécuter vos cas de test JUnit existants à l'aide de TestNG.

TestNG peut automatiquement reconnaître et exécuter des tests JUnit, de sorte que vous pouvez utiliser TestNG en tant que coureur pour tous vos tests existants et écrire de nouveaux tests à l'aide de TestNG. Tout ce que vous avez à faire est de mettre la bibliothèque JUnit sur le chemin de classe TestNG, afin qu'elle puisse trouver et utiliser les classes JUnit, changer votre testeur de JUnit en TestNG dans Ant, puis exécuter TestNG en mode "mixte". De cette façon, vous pouvez avoir tous vos tests dans le même projet, même dans le même package, et commencer à utiliser TestNG. Cette approche vous permet également de convertir vos tests JUnit existants en TestNG de manière incrémentielle.

Prenons un exemple pour démontrer cette incroyable capacité de TestNG.

Créer une classe de cas de test JUnit

Créez une classe java, qui est une classe de test JUnit, TestJunit.java dans C:\>TestNG_WORKSPACE.

import org.junit.Test;
import static org.testng.AssertJUnit.assertEquals;

public class TestJunit {
   @Test
   public void testAdd() {
      String str = "Junit testing using TestNG";
      AssertEquals("Junit testing using TestNG",str);
   }
}

Maintenant, écrivons le testng.xml dans C:\>TestNG_WORKSPACE, qui contiendrait la balise <suite> comme suit -

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name = "Converted JUnit suite" >
   <test name = "JUnitTests" junit="true">
      <classes>
         <class name = "TestJunit" />
      </classes>
   </test>
</suite>

Pour exécuter les cas de test JUnit, définissez la propriété junit = "true" comme dans le xml ci-dessus. La classe de cas de test JUnit TestJunit est définie dans le nom de la classe.

Pour JUnit 4, TestNG utilisera le runner org.junit.runner.JUnitCore pour exécuter vos tests.

Compilez toutes les classes java en utilisant javac.

C:\TestNG_WORKSPACE>javac TestJunit.java

Maintenant, exécutez testng.xml, qui exécutera le cas de test JUnit en tant que TestNG.

C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE:C:\TestNG_WORKSPACE\lib\junit-4.11.jar" org.testng.TestNG testng.xml

Ici, nous avons placé le junit-4.11.jar sous C: \ TestNG_WORKSPACE \ lib \ junit-4.11.jar.

Vérifiez la sortie.

===============================================
   Converted JUnit suite

   Total tests run: 1, Failures: 0, Skips: 0
===============================================