2009-11-03 4 views
1

J'ai une propriété privée à laquelle je souhaite accéder dans mon test d'unité de test MS.Test MS - Accès à la propriété privée

// Make a local property for control so that we can mock the control object. 
    private Control localControl 
    { 
     get{return Control.Instance;} 
    } 

je vais à cette unité, faites un clic droit et sélectionnez Créer accesseur Private ->MyUnitTestProject

La barre d'état indique que l'accesseur a été fait pour le projet (pas l'unité).

Mais quand j'essaie de l'appeler (mediator.localControl) il ne peut pas le trouver.

Répondre

3

Habituellement, il construit un objet wrapper nommé: <YourClassName>_Accessor que vous utilisez pour accéder aux propriétés privées et aux méthodes.

Donc, si le contrôle est l'objet que vous désiriez voir la propriété privée il devrait y avoir un objet appelé Control_Accessor que vous pouvez créer cela exposer les propriétés privées ...

Edit: Le moyen le plus Je trouve que pour pouvoir m'assurer que je peux accéder à une propriété ou à une méthode privée, je clique avec le bouton droit de la souris sur votre classe, puis sur Créer un test unitaire. Vous pouvez ensuite voir comment cela est fait et ensuite modifier votre méthode de test en fonction de vos besoins.

1

Vous devez compiler le projet de test avant d'obtenir le support intellisense pour l'accesseur privé.

+0

+1 Ce fut mon problème, pas la réponse acceptée. –