Comment se moquer de tout?
Question
Je comprends comment se moquer des interfaces ou des appels de méthode virtuelle. Mais les cadres comme Typemock peuvent se moquer de tout dans le cadre. Quels mécanismes .NET sont utilisés pour fournir de telles fonctions?
La solution
Typemock Isolateur par exemple utilise le CLR profileur API pour intercepter. NET appels et les changer au cours de l'exécution:
Citation :
Typemock Isolateur utilise un aspect axé sur la conception de la programmation qui crée un aspect maquette. En interne, il utilise le .NET Framework profileur API pour surveiller une l'exécution de l'application. Lorsqu'une méthode est chargé par le CLR, Typemock Isolateur récupère l'IL et remplace avec code IL instrumenté. Typemock Isolateur ne change pas votre original code IL, il insère simplement un nouveau code qui appelle la Typemock Isolateur cadre et renvoie des valeurs moquée.
Autres conseils
Mock Tout est une des caractéristiques des cadres Mock. Mock enfin tout est à tout faux dans une classe, comme
- objets dépendants simulacres
- méthodes non virtuelles
- les classes scellées
- méthodes statiques
- classes statiques
- membres non publiques
- types non publics
JustMock et Typemock fournissent tous les deux cette fonctionnalité.
Vous pouvez réellement regarder le code source de certains cadres simulacres open source tels que cadre Moq, facile Mock, Rhino Mocks etc.
Divulgation: Remarque S'il vous plaît ce lien fourni est de mon propre site web