Se rendre au contenu

JUNIT / MOCKITO

Développement Informatique > Développement Java


Une formation de 3 jours pour écrire des tests unitaires professionnels avec JUnit et Mockito en Java.

La formation en 6 mots clés

JUnit

Mockito

Mocking

TDD

Assertions

Tests unitaires Java

Informations Pratiques et Programme

Prérequis


Bases solides en Java, compréhension des concepts de test unitaire, familiarité avec Maven ou Gradle.

Durée


2 jours

Contenu Technique de la Formation


Maîtrisez les frameworks de test modernes pour Java : JUnit 5 avec annotations @Test et @ParameterizedTest, Mockito pour les mocks et spies, et AssertJ pour des assertions fluides. Apprenez à tester efficacement avec fixtures, intégration et coverage Jacoco.

  • JUnit 5 : annotations @Test, @BeforeEach, @AfterEach, @DisplayName
  • @ParameterizedTest, @ValueSource, @CsvSource — tests paramétrés
  • Extensions JUnit 5 et lifecycle hooks personnalisés
  • Mockito : mock, spy, verify et comportements — When/Then DSL
  • ArgumentCaptor, InOrder et assertions avancées avec Mockito
  • AssertJ : assertions fluides et conditions — ThenAssertAll, satisfies

Objectifs de la Formation


Les objectifs visés par cette formation sont :

  • Écrire des tests JUnit 5 avec @Test, @BeforeEach et lifecycle complet
  • Implémenter des tests paramétrés avec @ParameterizedTest et sources variées
  • Créer des extensions JUnit 5 personnalisées pour besoins spécifiques
  • Configurer Mockito : mock, spy, verify et ArgumentCaptor
  • Utiliser AssertJ pour assertions fluides et lisibles
  • Intégrer tests d’intégration et mesurer coverage Jacoco

Table des Matières


JUnit 5 : annotations et lifecycle

  • Annotations de base : @Test, @BeforeEach, @AfterEach, @BeforeAll
  • @DisplayName, @Disabled et tags personnalisés
  • Ordre d’exécution, timeouts et assertions de base
  • Assertions avancées : assertAll, assertThrows
  • Répertoires et organisation des tests


Tests paramétrés avec @ParameterizedTest

  • @ParameterizedTest avec @ValueSource pour listes simples
  • @CsvSource et @CsvFileSource pour données structurées
  • @MethodSource pour générateurs personnalisés
  • @ArgumentsSource et convertisseurs d’arguments
  • Nommage dynamique avec @DisplayName et placeholders


Extensions JUnit 5 et lifecycle

  • Interface Extension et point d’extension
  • BeforeAllCallback, BeforeTestExecutionCallback personnalisées
  • Injection de paramètres et TestInfo, TestReporter
  • Paramètres résolus avec ParameterResolver
  • Composition d’extensions et ordre d’exécution


Mockito : mocks, spies et verification

  • mock() et Mockito.when().thenReturn() — comportement stubbé
  • spy() pour partiels mocking et comportement réel
  • verify(), times(), never() et InOrder — vérification d’appels
  • ArgumentCaptor pour capturer arguments et assertions
  • Matchers : any(), eq(), argThat() — flexibilité dans verification


AssertJ et assertions fluides

  • Assertions basiques fluides : isEqualTo(), isNotNull()
  • Collections : containsExactly(), anyMatch(), allMatch()
  • Chaining d’assertions et soft assertions
  • Conditions réutilisables et satisfies()
  • Messages d’erreur personnalisés et as() — lisibilité


Tests d’intégration et coverage Jacoco

  • Tests d’intégration vs tests unitaires — @SpringBootTest
  • Jacoco pour mesurage de couverture de code
  • Rapports de couverture et seuils minimums
  • Intégration Maven/Gradle avec plugin Jacoco
  • Amélioration continue de la couverture et qualité


En Pratique


Écrire des tests JUnit de qualité

  • Structure AAA (Arrange, Act, Assert)
  • Parameterized tests et repetitions
  • Organisation et nommage des tests


Utiliser les mocks et stubs efficacement

  • Création et vérification de mocks Mockito
  • Gestion des dépendances externes
  • Spy et partial mocking


Tester les cas limites et exceptions

  • Tests de comportement en erreur
  • Gestion des timeouts et ressources
  • Matchers avancés pour vérifications


Intégrer TDD dans le cycle de développement

  • Ecrire les tests avant le code
  • Refactoring et amélioration continus
  • Couverture de code et métriques


Modalités et Inscription


Cette formation est proposée selon deux formules pour s'adapter au mieux à vos besoins :


Session régulière

Des sessions sont organisées à intervalles réguliers. Demandez les prochaines dates planifiées pour vous inscrire à la prochaine session.


Sur mesure & intra-entreprise

Vous souhaitez former vos équipes directement dans vos locaux ou adapter le programme technique à votre contexte d'entreprise ? Contactez-nous pour obtenir un devis personnalisé.

Obtenir cette formation

Prêt à maîtriser JUnit et Mockito ? Rejoignez dès à présent la prochaine session ou contactez-nous pour organiser cette formation dans vos locaux.


Devis sur-mesure

S'inscrire à cette formation

Remplissez le formulaire pour obtenir plus d'informations.