JUnit
JUnit est un framework de test unitaire pour le langage de programmation Java, créé par Kent Beck et Erich Gamma.
Développé par | Erich Gamma et Kent Beck |
---|---|
Dernière version | 5.9.3 ()[1] |
DĂ©pĂ´t | github.com/junit-team/junit5.git |
Assurance qualité | Intégration continue |
Écrit en | Java |
Système d'exploitation | GNU/Linux et BSD |
Environnement | Machine virtuelle Java |
Type |
Test automation framework (en) Framework |
Licence | Common Public Licence |
Site web | junit.org/junit5 |
JUnit définit deux types de fichiers de tests. Les TestCase (cas de test) sont des classes contenant un certain nombre de méthodes de tests. Un TestCase sert généralement à tester le bon fonctionnement d'une classe. Une TestSuite permet d'exécuter un certain nombre de TestCase déjà définis.
Dans un TestCase il n'y a pas de main méthod, chaque test étant indépendant.
Exemples
Exemple de TestCase
Une telle classe hérite de junit.framework.TestCase
. La méthode annotée par @Before
est exécutée avant les méthodes de test, celle précédée par @After
est appelée à la fin. De la même manière, la méthode annotée par @BeforeClass
est appelée au lancement du testCase, celle précédée par @AfterClass
est appelée juste avant la fin. Les tests sont des méthodes annotées par @Test
, elles font des traitements et vérifient le bon comportement des classes testées par des méthodes assert***()
, toute assertion non vérifiée est signalée comme défaillante. Un cas de test (TestCase) peut avoir plusieurs sections @Test
. Si une section @Test
Ă©choue, le TestCase ne s'arrĂŞte pas mais continue sur les sections @Test
suivantes (s'il y en a).
import junit.framework.TestCase;
import org.junit.*;
public class ClasseDeTest extends TestCase {
@BeforeClass
public static void setUpClass() throws Exception {
// Code exécuté avant l'exécution du premier test (et de la méthode @Before)
}
@AfterClass
public static void tearDownClass() throws Exception {
// Code exécuté après l'exécution de tous les tests
}
@Before
public void setUp() throws Exception {
// Code exécuté avant chaque test
}
@After
public void tearDown() throws Exception {
// Code exécuté après chaque test
}
@Test
public void nomdutest1() {
// code qui teste une chose, appelé "test1".
// Le code contient généralement une assertion pour vérifier si une condition est vraie ou fausse.
}
@Test
public void nomdutest2() {
// code qui teste autre chose, appelé "test2"
// Le code contient généralement une assertion pour vérifier si une condition est vraie ou fausse.
}
}
Intégration
JUnit est intégré par défaut dans les environnements de développement intégré Java tels que BlueJ, Eclipse, IntelliJ et NetBeans.