Simulation par stub ou par shim

On développe des tests unitaires pour vérifier l’utilisation de nos classes. Ensuite, ces classes vont être « insérées » dans un système qui va à la fois les consommer mais qui va également les chaîner à d’autres. Notre pièce du puzzle devra, elle aussi, communiquer avec ses voisines. Mais peut-être que ses voisines ne seront pas développées en même temps ! Alors comment faire pour valider notre travail d’intégration ?

La solution n’est pas de faire le développement à la place de vos collègues mais plutôt de simuler le comportement de leurs objets dans des stubs ou des shims qui sont des objets contrôlés par nos tests.

Un stub remplace une classe « voisine » en implémentant son interface. L’utilisation de stubs n’est donc possible que si l’application est architecturée autour d’interfaces (ce qui est fortement conseillé). Un shim modifie votre objet au moment de son utilisation pour que ses appels à une classe « voisine » soient redirigés vers du code de test. Le shim s’utilise donc dans le cas où les objets à appeler n’ont pas d’interface ou ne sont pas des composants de votre solution.

Le framework Microsoft Fakes permet de créer stub et shim. Par contre, il ne fait pas partie de la version...

couv_RI4CAPOO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Exercice
Suivant
Présentation