Comment : tester une méthode privée

Mise à jour : novembre 2007

Les tests unitaires vous permettent de tester des méthodes publiques et privées. Comme pour les méthodes publiques, les tests unitaires pour les méthodes privées sont créés automatiquement lorsque vous générez des tests à partir du code que vous souhaitez tester.

Bien que vous puissiez coder manuellement des tests unitaires pour tester n'importe quelle méthode, publique ou privée, il est plus difficile d'accomplir cette tâche pour les méthodes privées car elle exige une meilleure compréhension des subtilités de la réflexion. Vous trouverez donc plus judicieux de générer des tests pour des méthodes privées que de les coder manuellement.

Lorsque vous générez un test unitaire pour une méthode privée, Visual Studio crée un accesseur private. Un accesseur private est un assembly au moyen duquel le test peut accéder à une méthode privé depuis l'extérieur de la classe de cette méthode. Pour plus d'informations, consultez Utilisation d'accesseurs private.

Remarque :

Outre les méthodes privées, vous pouvez utiliser un accesseur private pour tester les propriétés et les champs privés. Toutefois, vous ne pouvez pas utiliser d'accesseur private pour tester des versions privées des éléments suivants : événements, délégués, méthodes anonymes et membres marqués avec l'attribut CompilerGeneratedAttribute.

Attribut InternalsVisibleTo ou accesseur private : lequel utiliser ?

Vous pouvez utiliser un assembly d'accesseur private pour accéder aux membres privés et internes. Si votre code sous test contient des membres internes, mais pas de membres privés, il est recommandé d'utiliser l'attribut InternalsVisibleTo dans le code sous test et de renoncer à la création d'un assembly d'accesseur private. Toutefois, si votre code contient des membres privés et internes à tester, utilisez l'accesseur private, car il permet d'accéder à ces deux types de membres. Pour plus d'informations, consultez Utilisation d'accesseurs private.

Pour générer un test unitaire pour une méthode privée

  1. Ouvrez un fichier de code source qui contient une méthode privée.

  2. Cliquez avec le bouton droit sur la méthode privée et sélectionnez Créer des tests unitaires.

    La boîte de dialogue Créer des tests unitaires s'affiche. Dans l'arborescence visible, seule la case à cocher pour la méthode privée est activée.

  3. (Facultatif) Dans la boîte de dialogue Créer des tests unitaires, vous pouvez modifier le Projet de sortie. Vous pouvez aussi cliquer sur Paramètres pour reconfigurer la façon dont les tests unitaires sont générés.

  4. Cliquez sur OK.

    Cela génère le code d'accès à la méthode privée ainsi que le projet de test et crée ou met à jour l'assembly d'accesseur private.

    Si votre projet de test ne comportait aucun test unitaire avant ce stade, un fichier de code source est créé pour accueillir les tests unitaires. Comme pour le fichier qui contient des accesseurs private, le fichier qui contient des tests unitaires est également visible dans votre projet de test dans l'Explorateur de solutions.

  5. Ouvrez le fichier qui contient vos tests unitaires et accédez au test pour la méthode privée. Identifiez les instructions qui sont signalées par les commentaires // TODO: et terminez-les en suivant les directions dans les commentaires. Cela permet au test de générer des résultats plus précis. Pour plus d'informations, consultez Comment : créer un test unitaire.

    Le test unitaire pour la méthode privée est maintenant prêt à être exécuté. Pour plus d'informations, consultez Comment : exécuter des tests sélectionnés.

Voir aussi

Tâches

Comment : créer un test unitaire

Procédure pas à pas : création et exécution de tests unitaires

Concepts

Utilisation d'accesseurs private

Utilisation de Publicize pour créer des accesseurs private

Définition de l'attribut InternalsVisibleTo

Autres ressources

Comment : générer un test unitaire