49 lines
1.9 KiB
Java
49 lines
1.9 KiB
Java
import static org.junit.Assert.assertEquals;
|
|
import org.junit.Test;
|
|
|
|
import org.junit.BeforeClass; // ne pas oublie de charger le fait qu'on veut l'annotation @BeforeClass
|
|
import org.junit.AfterClass;
|
|
|
|
/**
|
|
|
|
CalculatorTest2 est un exemple de test pour la classe Calculator utilisant junit4
|
|
Il réunit en fait les deux tests des 2 classes précédentes dans une seule classe.
|
|
|
|
Typiquement on a en effet tous les tests simples portant sur une classe "métier" regroupée dans une classe de test correspondante.
|
|
Avec les annotations, on peut factoriser des choses concernant tous ces tests.
|
|
|
|
*/
|
|
|
|
public class CalculatorTest2 {
|
|
static Calculator calculator;
|
|
|
|
// On peut si on le souhaite faire un traitement avant tous les tests (typiquement on fait quelque chose de cher comme se connecter à une base de données, ici j'économise une instance de Calculator (on s'en moque un peu pour être honnête).
|
|
@BeforeClass
|
|
public static void setUp() {
|
|
System.out.println("Avant tous les tests");
|
|
calculator = new Calculator();
|
|
}
|
|
|
|
@Test
|
|
public void evaluatesGoodExpression() {
|
|
System.out.println("Test evaluation bonne expression");
|
|
int sum = calculator.evaluate("1+2+3");
|
|
assertEquals(6, sum);
|
|
}
|
|
|
|
|
|
@Test(expected = NumberFormatException.class)
|
|
public void doesNotEvaluateBadExpression() {
|
|
System.out.println("Test evaluation mauvaise expression");
|
|
int sum = calculator.evaluate("1 +2+3");
|
|
}
|
|
|
|
// On peut si on le souhaite faire un traitement après tous les tests (typiquement on fait quelque chose de cher comme se connecter à une base de données, ici j'économise une instance de Calculator (on s'en moque un peu pour être honnête).
|
|
@AfterClass
|
|
public static void tearDown() {
|
|
System.out.println("Après tous les Test");
|
|
calculator = null;
|
|
}
|
|
|
|
}
|