Vous êtes sur la page 1sur 12

Types des tests automatisés

Test unitaire
Solution 2

1
Types des tests automatisés
Test unitaire
• Il existe de nombreuses assertions parmi lesquelles nous citons les suivantes
Méthodes Rôles

assertEquals() Vérifier l'égalité de deux valeurs de type primitif

assertFalse() Vérifier que la valeur fournie en paramètre est fausse


assertNull() Vérifier que l'objet fourni en paramètre est null

assertNotNull() Vérifier que l'objet fourni en paramètre n’est pas null

assertTrue() Vérifier que la valeur fournie en paramètre est vraie

Vérifier que les deux objets fournis en paramètre font référence à la même entité
Exemples identiques :
assertSame()
assertSame("Les deux objets sont identiques", obj1, obj2);
assertTrue("Les deux objets sont identiques ", obj1 == obj2); 2
Types des tests automatisés
Tests unitaires
• Parfois on veut tester des classes qui sont liées (une classe A qui dépend
d’une autre classe B)

• La classe B on peut la tester d’une manière individuelle car elle est


indépendante de A

• Mais pour tester la classe A, on va forcément passer par la classe B.

Problème
• Lors du test de la classe A, si le test échoue on ne sait pas est ce que c’est
à cause de la classe A ou de la classe B
3
Types des tests automatisés
Tests unitaires
Solution

• Pour résoudre ce problème, il faut utiliser le framework Mokito

4
Types des tests automatisés
Tests unitaires
Mockito

• Mockito: permet d'isoler la classe à tester par rapport aux autres

• Mockito: framework en complément de JUnit qui permet de faire des mocks

• Mocks: Objets qui imitent le comportement d'une classe juste le temps du test

Question
• Pourquoi tester le mock au lieu d'utiliser la classe de notre application?

Réponse
• C’est parsque le test du mock sera toujours correcte. Ce qui va nous permettre de
tester la classe A (qui dépend de B(mock)). Si le test échoue ou réussi, on sera sûr
que c’est le résultat de la classe A non pas de B
5
Types des tests automatisés
Tests unitaires
Implémentation de Mokito

• Avant de commencer à utiliser des mocks pour vos tests unitaires, il faut
commencer par télécharger le framework Mokito

• Sur votre projet -> faites un clique droit-> cliquez sur build path ->Add
external archives

• Ensuite sélectionnez le framework que vous avez téléchargé

6
Types des tests automatisés
Exemple: Tests unitaires
• Supposons que nous avons une classe « Calculator_normal » et une autre classe
« Calculator_scientifique » qui utilise la classe « Calculator_normal »

• Si vous testez votre classe « Calculator_scientifique » et votre classe échoue, est ce


à cause de votre classe « Calculator_scientifique » ou de la classe
« Calculator_normal »?

• Grace à mockito, nous allons remplacer la classe du « Calculator_normal » par un


mock qui est sûr de fonctionner. Alors on saura que le succès ou l‘échec de notre
test viendra du code de la classe que vous testez
7
Types des tests automatisés
Tests unitaires
Exemple tests unitaires avec Mokito

1. Créer une classe « Calculator_normal » qui contient les variables a et b, un constructeur par
défaut et un constructeur avec paramètres

2. Ajouter à la classe « Calculator_normal », la méthode add() qui permet de calculer la somme


des variable a et b;

3. En utilisant les tests unitaires, tester la méthode add() de la classe « Calculator_normal »

4. Créer une deuxième classe « Calculator_scientifique » dans laquelle vous insérez une méthode
produitAddition() qui multiplie le résultat de l’addition de la classe « Calculator_normal » par
un nombre d. Utilisez comme paramètres de cette méthode un Calculator_normal et un
nombre d.

5. En utilisant les tests unitaires tester la méthode produitAddition() en utilisant les mocks
8
Types des tests automatisés
Solution
Tests unitaires

9
Types des tests automatisés
Solution
Tests unitaires

10
Types des tests automatisés
Solution
Tests unitaires

11
Types des tests automatisés
Solution
Tests unitaires

12

Vous aimerez peut-être aussi