Mocking en Java
Les différents concepts
Les différents objets
En POO, il existe plusieurs type d'objets permettant de simuler le comportement d'un autre objet.
- dummy (fantôme, bouffon) : objet "vide" qui n'a pas de fonctionnalités implémentées.
- stub (bouchon) : classe qui retourne en dur une valeur pour une méthode invoquée.
- fake (substitu, simulateur) : classe qui est une implémentation partielle et qui retourne toujours les mêmes réponses selon les paramètres fournis.
- spy (espion) : classe qui vérifie l'utilisation qui en est faite après l'exécution.
- mock (simulacre) : classe qui agit comme un stub et un spy.



Le mock possède à la fois la puissance d'un espion, c'est-à-dire pouvoir inspecter l'utilisation qui a été faite de l'objet (lui même) mais également la possibilité de pré-déterminer le comportement du mock, c'est-à-dire lui ordonner quelle valeur il renverra pour tel appel de méthode avec tel paramètre.
Deux grands types d'objets mock
- Statique : ce sont des classes java écrites ou générées via un outil par le développeur.
- Dynamique : ils sont mis en oeuvre via un framework.
Nous allons nous intéresser dans la partie suivante aux frameworks de Mocking Java permettant d'utiliser des objets Mock qui sont crées automatiquement.