Objets fictifs en Java

Zeeshan Afridi 11 décembre 2023
Objets fictifs en Java

Les objets fictifs aident à simuler et à vérifier des objets réels sans exécuter le code réel dans ces objets. Vous pouvez configurer une simulation pour renvoyer des résultats spécifiques sur les appels de méthode et vérifier facilement si la méthode a été appelée ou non.

Comme indiqué ci-dessus, les objets Mock sont utilisés pour les tests unitaires. Si vous avez un objet dont vous voulez tester les méthodes et que ces méthodes dépendent d’autres objets, alors, dans ce cas, vous pouvez créer une maquette de la dépendance plutôt que l’instance réelle de cette dépendance, et vous pouvez tester vos objets en isolement.

Objets fictifs en Java

Les frameworks Java courants pour la création d’objets fictifs incluent JMock et EasyMock. Ces deux frameworks vous permettent généralement de créer des objets fictifs, et vous pouvez définir leur comportement en conséquence pour savoir exactement à quoi s’attendre des valeurs de retour et de l’effet.

Par exemple, un cas d’utilisation courant pourrait être dans une application Model-View-Controller (MVC) où nous avons une couche Data Access Objects (DAO) et un contrôleur qui exécute la logique métier. Si vous souhaitez tester le contrôleur et que le contrôleur dépend d’un objet d’accès aux données (DAO), vous pouvez créer un objet fictif du DAO qui renverra des objets factices à votre contrôleur.

Les objets fictifs aident à tester la fonctionnalité d’une application que vous souhaitez tester car nous pouvons réaliser toutes les dépendances en simulant ces objets dépendants.

Et s’ils réussissent le test, c’est sûr que l’unité sous ce test est correcte.

Une chose importante à considérer est que les objets factices implémentent la même interface que les objets réels dont ils se moquent. Cela permet à votre code de les traiter via le type d’interface comme s’il s’agissait d’instances réelles.

Pour utiliser des objets fictifs, importez la bibliothèque Mockito ; import static org.mockito.Mockito.*; vous permet d’utiliser la méthode mock(), qui permet de créer des instances d’objets fictifs.

L’étape suivante est la création du mock et la syntaxe est List mockedList = mock(List.class);. Maintenant, pour ajouter des valeurs, nous utilisons l’objet défini de List comme suit, mockedList.add("Value one"), et le vérifions en utilisant la méthode verify() comme suit, verify(mockedList).add("one").

// Import Library
import static org.mockito.Mockito.*;

// Create Mock
List mockedList = mock(List.class);

// using mock object
mockedList.add("one");
mockedList.clear();

// Varifying
verify(mockedList).add("one");
verify(mockedList).clear();
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn