Mon premier test unitaire en Java avec JUnit sous Android Studio

Puisque vous êtes sur Artisan Développeur, il ne fait plus aucun doute pour vous que le TDD et les tests unitaires constituent la base d’un travail robuste et de qualité. Mais en tant que développeur Android, vous ne savez pas par ou commencer. Pas de panique, cet article vous accompagnera dans l’écriture de votre premier test unitaire.

Installer JUnit.

JUnit est « Le » framework de tests unitaires incontournable pour Java. Il ne sera pas réellement utile de l’installer puisqu’il est inclus dans tout les nouveau projet Android Studio. Vous pouvez cependant vérifier sa présence dans  le fichier build.gradle de l’application:

C’est, comme pour les dépendances classiques, à partir de ce fichier qu’il vous sera possible de supprimer ou modifier la version de JUnit ( Notez l’utilisation de la méthode testImplementation qui permet de ne pas ajouter JUnit sur un build de production ).

Le test intégré.

La bonne surprise, c’est que le nouveau projet contient également un test d’exemple, dans la class ExampleUnitTest.java ( c’est le cas sous Android Studio 3.2).  En l’étudiant, nous pouvons constater deux choses :

  • Les classes de tests doivent être placées dans le package app/src/test : Elles ne seront pas intégrées dans un build de production avec le reste de l’app qui se trouve dans app/src/main.
  • La méthode de test addition_isCorrect()  est annotée @Test. C’est cette annotation qui indique a JUnit qu’il est en présence d’un test unitaire

Lancer le test.

Pour lancer le test, il suffit de cliquer sur la méthode et de choisir Run « addition_isCorrect() ». Vous êtes en présence de votre première barre verte:

Il n’y a rien d’étonnant à cela, dans la mesure où nous testons ici une méthode native java et vérifions que 2 + 2 retourne effectivement 4. Allons un peu plus loin et testons notre propre classe.

Ecrire un nouveau test.

Commençons par créer la classe Addition.java dans app/src/main, contenant la méthode calculer(). Ce sera notre classe à tester.

Il est maintenant temps de tester la méthode calculer() dans la classe AdditionTest.

Vérifions que calculer(3,3) retourne 6. A noter ici l’utilisation de la méthode setUp() annotée @Before. Cette méthode sera exécutée avant chaque test de la classe AdditionTest, elle est utile en l’espèce pour instancier la classe Addition(). Son pendant, tearDown() annotée @After s’exécutera systématiquement après chaque test. Ces deux méthodes sont couramment utilisées, afin de définir puis de nettoyer le contexte d’un ou plusieurs tests.

Il ne reste plus qu’a lancer le test …

… pour se rendre compte qu’il échoue. La méthode calculer(3, 3) retourne 9 alors qu’elle devrait retourner 6. Une fois celle ci corrigée, le test passe au vert.

Mission accomplie !

 

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.