Les Mockmock objects
Quand nous testons une classe, nous voulons centrer nos tests sur celle-ci et nous devons alors trouver un moyen de ne pas tester les autres classes qui interagissent avec la classe testée. Nous pouvons utiliser des simulacres d’objets nommés mocks pour ne pas avoir à invoquer des objets réels qui demanderaient un contexte d’exécution trop étendu.
Spring fournit un ensemble de mocks très complet. Ils sont plus simples à utiliser que les mocks EasyMock et MockObjects. On les utilise souvent avec le framework Mockito (http://site.mockito.org/).
Type de mock |
Utilisation |
Environnement |
Classes liées à l’environnement d’exécution. |
JNDI |
Simule des ressources JNDI comme une datasource. |
API des Servlets |
Simule une servlet, utile avec Spring MVC. |
API des Portlets |
Simule les portlets Spring MVC (disparaît avec Spring 5+). |
Support |
Outils aidant pour l’introspection des objets. |
1. Mocks spécialisés pour "environnement"
On simule les classes d’environnements.
Classe |
Mock |
Environnement |
MockEnvironment |
@PropertySource |
MockPropertySource |
Ces mocks permettent de simuler un environnement et un PropertySource.
2. Support
a. Utilités générales
La classe ReflectionTestUtils du package org.springframework. test.util apporte des aides pour l’introspection et la manipulation des objets. Tous les membres des classes deviennent accessibles, même les membres « private ».
Par exemple...