Tests et TestNG

Présentation

Présentation de TestNG

TestNG pour Test Next Generation

Ce framework de tests est inspiré de JUnit.

Bon à savoir: toutes les classes de code que vous avez écrites avec JUnit peuvent ĂȘtre utilisées par TestNG, c'est parfaitement compatible.

Quelques caractéristiques majeures à noter:

Comment invoquer TestNG?

TestNG peut se lancer de plusieurs façons...

Le fichier testng.xml

Voici tout d'abord un exemple de fichier xml:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="testGestionBiblio">
<test name="testRecherche" verbose="5"> <packages>
<package name="univ.mlv.fr.xpose.tests.packages"></package> </packages>
</test>
<test name="testAjout" verbose="5">
<classes>
  <class name="univ.mlv.fr.xpose.tests.classes.TestAjoutBibliotheque"></class>
  </classes>
</test>
</suite>

Cet exemple est simple et ne permet d'illustrer qu'une petite partie des fonctionnalités de TestNG

En effet, sur cet exemple nous ne voyons que deux façons de "présenter" les différentes classes de tests. Sur cet exemple nous voyons ces deux méthodes:

YAML possible

Il est possible de choisir de lancer ses tests en utilisant YAML à la place de notre fichier testng.xml. Voici un exemple fourni par le site testng.org:

<suite name="SingleSuite" verbose="2" thread-count="4">
 
  <parameter name="n" value="42" />
 
  <test name="Regression2">
    <groups>
      <run>
        <exclude name="broken" />
      </run>
    </groups>
 
    <classes>
      <class name="test.listeners.ResultEndMillisTest" />
    </classes>
  </test>
</suite>	   

Ce qui peut ĂȘtre remplacé par le code YAML:

name: SingleSuite
threadCount: 4
parameters: { n: 42 }
 
tests:
  - name: Regression2
    parameters: { count: 10 }
    excludedGroups: [ broken ]
    classes:
      - test.listeners.ResultEndMillisTest