Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
> > > Pratique des tests unitaires avec JUnit

Pratique des tests unitaires avec JUnit

L'industrialisation des processus de développement logiciel, ce que nous appelons « usine logicielle » passe par une approche systématique, re-jouable et automatisable des tests devant servir à valider le logiciel produit. Le développement piloté par les tests (Test Driven Development) est l'une des pratiques préconisées par la méthode agile XP (eXtreme Programming). Cette pratique est issue d'un principe simple : « puisque nous n'avons jamais le temps de tester une application produite, commençons par écrire les tests auxquels l'application à réaliser devra se conformer ». Au niveau des fonctionnalités « basiques », le test unitaire vérifie alors qu'un code réalise bien ce qui a été prévu lors de la conception détaillée d'un programme. Il est écrit avant le programme lui-même. Cette formation JUnit permet d'aider l'équipe de développement à mettre en oeuvre ces pratiques.

Objectifs

  • Maîtriser JUnit
  • Comprendre les principes de développement par les tests

Public

  • Architectes
  • Chefs de projets
  • Consultants
  • Ingénieurs

Prérequis

  • Pratique du langage Java

Programme de la formation

Objectifs des tests

  • Méthodologie
  • Les différents type de tests
  • Le coût des tests
  • Les frameworks de test

JUnit 3

  • Les cas de tests
  • Les assertions
  • Test de la levée d’exceptions
  • Les suites de tests
  • Cycle de vie des tests

JUnit 4

  • Les annotations
  • Les suppositions
  • Les tests paramétrés

JUnit 5

  • Nouvelle architecture
  • Les tests répétés
  • Les tests dynamiques
  • Les tests imbriqués
  • La migration

Bonnes pratiques

  • F.I.R.S.T.
  • L’organisation des tests
  • Les conventions de nommage

Testabilité du code

  • L’écriture de code testable
  • Composition vs héritage
  • IoC et injection de dépendance
  • Les données temporelles

Les doublures de test

  • Utilité
  • Les différents types de doublures
  • Mockito

Outils complémentaires

  • AssertJ
  • HamCrest

Intégration dans les outils

  • Les plugins Eclipse
  • Maven
  • Intégration continue

Code coverage

  • Utilité
  • Différents outils : JaCoCo, Emma, Cobertura

Mutation testing

  • Les principes
  • Mise en oeuvre

Aller plus loin

  • TDD
  • Tests d’intégration