Introduction JUnit Assertions Ex´ecution M´ethodes classiques M´ethode bas´ee sur des contrats
Les assertions de base de java classe org.junit.Assert
Quelques m´ethodes de classe :
assertEquals(..., ...) / assertArrayEquals(..., ...)
teste l’´egalit´e des types simples, des objets et des tableaux
assertSame(Object, Object) teste qu’il s’agit du mˆeme objet
assertTrue(boolean)/assertFalse(boolean) teste le r´esultat
d’une expression logique
. . .
Remarque : un commentaire (String) d’assertion peut ˆetre passer en 1◦
param`etre pour expliquer la raison de l’´echec d’une assertion
Tests Unitaires 13 / 27
Introduction JUnit Assertions Ex´ecution M´ethodes classiques M´ethode bas´ee sur des contrats
Exemple avec assertions classiques 1 / 3
TestAmpouleClassique.java
import org.junit.After;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import java.awt.Color;
public class TestAmpouleClassique {
public Ampoule ampoule;
@Before
public void avantTest() {
ampoule = new Ampoule();
}
@Test
public void test_construteurs() {
assertEquals(ampoule.getCouleur(), Color.WHITE);
assertFalse(ampoule.getEtat());
assertEquals((new Ampoule(Color.BLUE)).getCouleur(),Color.BLUE);
}
@Ignore
@Test
public void test_SetGetCouleur() {
ampoule.setCouleur(Color.RED);
assertEquals(ampoule.getCouleur(), Color.BLUE);
}
@Test(timeout=1000)
public void test_basculer() {
boolean etat = ampoule.getEtat();
assertFalse(etat);
assertTrue(ampoule.basculer());
assertTrue(ampoule.getEtat());
while (etat != ampoule.getEtat()) {
etat=ampoule.getEtat();
ampoule.basculer();
}
assertFalse(ampoule.getEtat());
}
}
Tests Unitaires 14 / 27
Introduction JUnit Assertions Ex´ecution M´ethodes classiques M´ethode bas´ee sur des contrats
Exemple avec assertions classiques 2 / 3
Ex´ecution OK
JUnit version 4.5
.Before
After
I.Before
After
Time: 0,017
OK (1 test)
Tests Unitaires 15 / 27
Introduction JUnit Assertions Ex´ecution M´ethodes classiques M´ethode bas´ee sur des contrats
Exemple avec assertions classiques 3 / 3
Ex´ecution ´
Echec : ( @Ignore )
JUnit version 4.5
.Before
After
.Before
After
E.Before
After
Time: 0,023
There was 1 failure:
1) test_SetGetCouleur(TestAmpouleClassique)
java.lang.AssertionError: expected:<java.awt.Color[r=255,g=0,b=0]> but was:<java.awt.Color[r=0,g=0,b=255]>
at org.junit.Assert.fail(Assert.java:91)
at org.junit.Assert.failNotEquals(Assert.java:618)
...
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:116)
at org.junit.runner.JUnitCore.run(JUnitCore.java:107)
at org.junit.runner.JUnitCore.runMain(JUnitCore.java:88)
at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:54)
at org.junit.runner.JUnitCore.main(JUnitCore.java:46)
FAILURES!!!
Tests run: 3, Failures: 1
Tests Unitaires 16 / 27