Préambule :

  • Tout ce tutoriel est basé sur un ordinateur avec une distribution type debian/ubuntu, un SDK Java du type openjdk+openjfx 11, et l'IDE Intellij IDEA.
  • Ces hypothèses sont valables notamment pour les machines du département.
  • Si vous utilisez votre propre ordinateur sous windows/mac, les procédures d'installation logicielle seront relativement semblables mais avec des différences notables, par exemple dans les chemins d'accès aux éléments installés.

1°/ Ajouter mockito, hamcrest, ...

  • Lancer IDEA,
  • Ouvrir votre projet. La suite prend en exemple un projet nommé TutoSprite.
  • Cliquer sur le menu File puis Project Structure.
  • Dans la fenêtre qui apparaît, cliquer sur Global Libraries dans le menu de gauche, en bas.
  • Cliquer sur le bouton +
  • Choisir l'item "From Maven"

idea junit 1

 

  • Une fenêtre de recherche apparaît.
  • Dans le champ de saisie, taper :

org.mockito:mockito-core:3.0.0

  • Cliquer sur la loupe pour vérifier si la bibliothèque est bien trouvée.
  • Si c'est le cas, Found: 1 apparaît à droite
  • Cliquer sur OK

idea junit 2

 

  • IDEA demande ensuite s'il faut intégrer cette bibliothèque dans le projet courant.
  • Cliquer sur OK pour approuver.

idea junit 3

 

  • Recommencer la même opération (clic sur + puis From Maven) en indiquant cette fois la bibliothèque :

org.hamcrest:hamcrest:2.2

 

  • La fenêtre doit maintenant ressembler à cela.
  • Si on clique sur mockito, le détails des fichiers associés à cette bibliothèque apparaissent à droite.
  • Idem pour hamcrest.

idea junit 4

 

 

  • Cliquer sur OK pour finaliser et revenir à la fenêtre principale.

 

2°/ Configurer JUnit

 

 2.1°/ création des répertoires contenant les test.

  • Dans l'arborescence du projet, cliquer bouton droit sur le répertoire racine (TutoSprite dans ce tutoriel) puis choisir New et enfin Directory.
  • Nommer le nouveau répertoire test.
  • Cliquer bouton droit sur test puis choisir Mark directroy As et enfin Test Sources Root.
  • Cliquer bouton droit sur test puis choisir  New et enfin Package.
  • Nommer le nouveau package model.
  • Répéter cette opération pour créer les packages view et control.

 

2.2°/ Ajout de JUnit

  • Contrairement aux 2 bibliothèques précédentes, JUnit va être ajouté au projet à partir du code que l'on écrit.
  • En effet, lorsque IDEA ne trouve pas une référence à une classe, le code apparaît en rouge. Il  est alors possible d'appuyer sur ALT+Entrée pour avoir différent choix.
  • Dans le cas de JUnit, s'il n'a pas encre été ajouté au projet, IDEA demande s'il faut le faire.
  • Sinon, IDEA demande s'il faut ajouter l'import du package contenant la classe non définie.
  • Les manipulations ci-dessous donnent un exemple de procédure dans le cas de TutoSprite lorsque l'on veut créer une classe de test pour une classe du modèle nommée MySprite.

 

  • Cliquer sur test pour déplier l’arborescence.
  • Cliquer bouton droit sur model puis choisir  New et enfin Java Class. Nommez la nouvelle classe MySpriteUnitTest. Le nom de cette classe est libre mais il est pratique de la nommer ainsi pour comprendre qu'elle contient les test unitaires concernant la classe MySprite.
  • Un nouveau fichier est ajouté à l'arborescence et l'onglet central fait apparaître son code, quasi vide pour l'instant.
  • Au début de la classe, ajouter @Test, ce qui indiquera à JUnit que la méthode qui suit est un test.
  • Normalement, @Test apparaît en rouge car JUnit n'est pas encore ajouté au projet.

idea junit 5

 

  • Positionner le curseur sur @Test,
  • Appuyer sur ALT+Entrée.
  • Dans la pop-up, choisir :

Add JUnit5.7.0 to classpath

idea junit 6

 

  • Dans la fenêtre qui apparaît, cliquer directement sur OK.
  • JUnit est désormais intégré au projet.
  • IDEA a ajouté de lui-même l'import de la classe Test.

idea junit 7

 

2.3°/ Auto-import des classes.

  • Au cours d'un développement, il est fréquent d'utiliser dans un fichier des classes provenant d'un autre package.
  • Il faut alors les importer, grâce à une instruction import.
  • IDEA facilite grandement cette opération, grâce au raccourci clavier ALT+Entrée.
  • Illustration du principe, en continuant l'exemple de la section 2.2 :
  • En dessous de @Test, ajouter le code suivant :

public void testCreateMySprite() {

  GameStageModel stageModel = Mockito.mock(GameStageModel.class);

}

  • Normalement, GameStageModel et Mockito apparaissent en rouge.
  • Ces 2 classes ne sont pas connues dans MySpriteUnitTest.
  • Il faut donc les importer. Pour cela :
    • on positionne le curseur sur le nom en rouge,
    • on appuie sur ALT+Entrée.

idea junit 8

 

  • Dans le menu contextuel, choisir Import Class
  • Refaire la même manipulation pour tous les noms en rouge.

idea junit 9

 

  • IDEA a ajouté les instructions import nécessaires.
  • Le rouge a disparu.

idea junit 10

 

  • Ces manipulations sont valables dès qu'une classe apparaît en rouge.
  • Cependant, il est possible que le menu contextuel ne permette pas de choisir Import Class.
  • Dans ce cas, cela veut dire que la bibliothèque dans laquelle se trouve cette classe n'est pas intégrée au projet.
  • Il faut faire cette intégration en suivant une procédure similaire à celle décrite en section 1, à condition de connaître le nom maven de la bibliothèque !