2009-09-29 7 views
1

J'essaie d'annuler l'installation de plusieurs MVP et je n'arrive pas à trouver la meilleure façon de se moquer de la vue. Je vais essayer de le faire bouillir. La vue IView comprend par exemple d'une propriété de type IControl.Se moquer récursivement avec Rhino-Mocks

interface IView 
{ 
    IControl Control1 { get; } 
    IControl Control2 { get; } 
} 

interface IControl 
{ 

    bool Enabled { get; set; } 

    object Value { get; set; } 

} 

Ma question est de savoir s'il y a un moyen simple de configurer le comportement de la propriété pour Activé et la valeur des membres de l'interface IControl sur l'interface IView - comme récursive se moquant une supposition. Je préférerais ne pas configurer les attentes pour toutes mes propriétés sur la vue (pas mal sur chaque vue).

Merci à l'avance

Répondre

0

Merci pour le respons. Un collègue de min a suggéré que j'ai utilisé la réflexion pour assigner le PropertyBehavior dans les éléments IControl. De cette façon, je peux encore se moquer de la vue et ne pas avoir à écrire le code reduntant pour chaque vue que j'ai. Quelque chose comme ceci: haacked.com/archive/2007/05/04/... Si quelqu'un a d'autres idées, s'il vous plaît commenter

0

Vous devrez définir le comportement de chaque instance IControl séparément. Vous ne pouvez pas définir le comportement au niveau du type. Si votre scénario est vraiment si simple, je envisagerais de faire un ValidControl et un InvalidControl qui à la fois implémenteraient IControl, et utiliseraient simplement des instances de ceux-ci au lieu de se moquer d'IControl avec Rhino Mocks. Vous devriez probablement encore imiter IView parce que vous ne semblez pas avoir un moyen de définir les contrôles sur la vue.

Questions connexes