Test d'une classe

Mise à jour : novembre 2007

Dans cette leçon, vous apprendrez comment créer une instance d'une classe pour tester cette dernière.

Dans les leçons précédentes, vous avez créé une classe Persons et lui avez attribué des propriétés, des méthodes et des événements. Jusqu'ici, vous vous êtes contenté d'ajouter du code. A présent, il est temps d'exploiter la classe Persons et de s'assurer qu'elle fonctionne correctement.

Création d'une instance d'une classe

Sans vous en rendre compte, vous avez utilisé des classes dans beaucoup de leçons précédentes. Les formulaires et les contrôles sont en réalité des classes ; lorsque vous faites glisser un contrôle Button jusqu'à un formulaire, vous créez en réalité une instance de la classe Button.

Vous pouvez également instancier n'importe quelle classe dans votre code à l'aide d'une déclaration avec le mot clé New. Par exemple, pour créer une nouvelle instance de la classe Button, ajoutez le code suivant.

Dim aButton As New Button

Pour utiliser et tester la classe Persons, vous devez d'abord créer un projet de test et ajouter une référence au module de classe.

Essayez !

Pour créer un projet de test pour votre classe

  1. Ouvrez le projet Persons que vous avez créé dans la leçon précédente. Si vous ne l'aviez pas enregistré, vous devez d'abord revenir à la leçon précédente, Ajout de méthodes à une classe, et réaliser les procédures qu'elle contient.

  2. Dans le menu Fichier, pointez sur Ajouter, puis cliquez sur Nouveau projet.

  3. Dans le volet Modèles de la boîte de dialogue Nouveau projet, cliquez sur Application Windows Forms.

  4. Dans la zone Nom, tapez PersonsTest, puis cliquez sur OK.

    Un nouveau projet Windows Forms est ajouté à l'Explorateur de solutions et un nouveau formulaire s'affiche.

  5. Dans l'Explorateur de solutions, sélectionnez le projet PersonsTest, puis cliquez sur Définir comme projet de démarrage dans le menu Projet.

  6. Dans l'Explorateur de solutions, sélectionnez le projet PersonsTest, puis cliquez sur Ajouter une référence dans le menu Projet.

    La boîte de dialogue Ajouter une référence s'affiche.

  7. Cliquez sur l'onglet Projets, puis sélectionnez Persons et cliquez sur OK.

  8. Double-cliquez sur le formulaire pour ouvrir l'éditeur de code, puis entrez la déclaration suivante sous la ligne Public Class Form1.

    Dim person1 As New Persons.Persons
    

    Ceci déclare une nouvelle instance de la classe Persons. Mais pourquoi avoir tapez deux fois Persons ? La première instance correspond au module de classe Persons.vb, la seconde à la classe Persons au sein de ce module.

  9. Dans le menu Fichier, cliquez sur Enregistrer tout.

Test de votre classe

L'étape suivante consiste à ajouter une interface utilisateur et un code qui utilise la classe Persons. Vous allez ajouter des zones de texte dans lesquelles l'utilisateur doit entrer des valeurs pour chacune des propriétés (sauf pour la propriété Age en lecture seule), une case à cocher pour le champ Married, et des boutons pour tester chacune des méthodes publiques.

Essayez !

Pour tester votre classe

  1. Dans l'Explorateur de solutions, sélectionnez Form1, puis dans le menu Affichage, cliquez sur Concepteur.

  2. Depuis la Boîte à outils, faites glisser quatre contrôles TextBox, un contrôle CheckBox et deux contrôles Button dans le formulaire.

  3. Sélectionnez le premier contrôle Button, puis dans la fenêtre Propriétés, affectez la valeur Update à sa propriété Text.

  4. Sélectionnez le deuxième contrôle Button, puis dans la fenêtre Propriétés, affectez à sa propriété Text la valeur Full Name.

  5. Double-cliquez sur le premier bouton (Mise à jour) pour ouvrir l'éditeur de code, puis dans le gestionnaire d'événements Button1_Click, ajoutez le code suivant :

    With person1
        .FirstName = Textbox1.Text
        .MiddleName = Textbox2.Text
        .LastName = Textbox3.Text
        .BirthYear = Textbox4.Text
        .Married = CheckBox1.Checked
    End With
    

    Remarquez qu'au fur et à mesure de la saisie, une liste qui contient les membres de la classe Persons s'affiche. Sachant qu'elle a été ajoutée en tant que référence, IntelliSense affiche des informations sur votre classe comme s'il s'agissait de n'importe quelle autre classe.

  6. Dans le gestionnaire d'événements Button2_Click, ajoutez le code suivant.

    ' Test the FullName method.
    MsgBox(person1.FullName)
    
    ' test the Age property and CalcAge method.
    MsgBox(CStr(person1.Age) & " years old")
    
    ' Test the Married property.
    If person1.Married = True Then
        MsgBox(person1.FirstName & " is married")
    Else
        MsgBox(person1.FirstName & " is single")
    End If
    
  7. Appuyez sur F5 pour exécuter le projet et afficher le formulaire.

    1. Dans la première zone de texte, entrez votre prénom.

    2. Dans la deuxième zone de texte, entrez votre deuxième prénom.

    3. Dans la troisième zone de texte, entrez votre nom.

    4. Dans la quatrième zone de texte, entrez l'année (quatre chiffres) de votre naissance (par exemple, 1983).

    5. Activez la case à cocher si vous êtes marié.

  8. Cliquez sur le bouton Mise à jour pour définir les propriétés de la classe, puis cliquez sur le bouton Nom complet.

    Trois messages sont affichés. Ces messages affichent votre nom complet, votre âge et votre statut.

  9. Dans le menu Fichier, cliquez sur Enregistrer tout.

Test des méthodes surchargées

Si vous avez suivi la leçon facultative Présentation détaillée : création de plusieurs versions de la même méthode avec surcharge, vous souhaiterez également tester les méthodes surchargées que vous avez ajoutées à la classe Persons. Si vous n'avez pas effectué cette leçon, revenez en arrière pour la suivre, ou ignorez la procédure suivante.

Essayez !

Pour tester les méthodes surchargées

  1. Dans l'Explorateur de solutions, sélectionnez Form1, puis dans le menu Affichage, cliquez sur Concepteur.

  2. À partir de la Boîte à outils, faites glisser deux autres contrôles Button dans le formulaire.

  3. Sélectionnez le troisième contrôle Button, puis dans la fenêtre Propriétés, affectez à sa propriété Text la valeur With.

  4. Sélectionnez le quatrième contrôle Button, puis dans la fenêtre Propriétés, affectez à sa propriété Text la valeur Without.

  5. Double-cliquez sur le premier bouton (With) pour ouvrir l'éditeur de code, puis dans le gestionnaire d'événements Button3_Click, ajoutez le code suivant :

    MsgBox(person1.FirstName & " " & person1.MiddleInitial(True) & _
                               " " & person1.LastName)
    

    Remarquez qu'au fur et à mesure de la saisie, une liste qui contient tous les membres de la classe Persons s'affiche. Comme elle a été ajoutée comme référence, IntelliSense affiche des informations sur votre classe, comme il le ferait pour toute autre classe.

  6. Dans le gestionnaire d'événements Button4_Click, ajoutez le code suivant.

    MsgBox(person1.FirstName & " " & person1.MiddleInitial & _
                               " " & person1.LastName)
    
  7. Appuyez sur F5 pour exécuter le projet et afficher le formulaire.

    1. Dans la première zone de texte, tapez votre prénom.

    2. Dans la deuxième zone de texte, tapez votre deuxième prénom.

    3. Dans la troisième zone de texte, tapez votre nom.

    4. Dans la quatrième zone de texte, tapez l'année (quatre chiffres) de votre naissance (par exemple, 1983).

    5. Activez la case à cocher si vous êtes marié.

  8. Cliquez sur le bouton Mise à jour pour définir les propriétés de la classe, puis cliquez sur le bouton With.

    Un message s'affiche. Il affiche votre nom en mettant un point après l'initiale du milieu.

  9. Cliquez sur le bouton Without.

    Un message s'affiche. Il affiche votre nom sans mettre de point après l'initiale du milieu.

  10. Dans le menu Fichier, cliquez sur Enregistrer tout.

Test de gestionnaires d'événements

Si vous avez suivi la leçon facultative Présentation détaillée : gestion des événements, vous souhaiterez également tester les gestionnaires d'événements que vous avez ajoutés à la classe Persons. Si vous n'avez pas terminé cette leçon, revenez en arrière pour la poursuivre, ou ignorez la procédure suivante.

Essayez !

Pour tester le gestionnaire d'événements

  1. Dans l'Explorateur de solutions, sélectionnez Form1, puis dans le menu Affichage, cliquez sur Code.

  2. Ajoutez l'instruction WithEvents avant la déclaration person1, tel qu'affiché dans le code suivant :

    WithEvents person1 As New Persons.Persons
    
  3. Ajoutez la procédure suivante à Form1. Ce code vérifie l'âge calculé et affiche un message basé sur le résultat.

    Private Sub person1_AgeCalculated(ByVal Age As Integer) _
        Handles person1.AgeCalculated
    
        If Age > 18 Then
            MsgBox("You have been over 18 for " & Age - 18 _
                & " years.")
        Else
            MsgBox("You will be 18 in " & 18 - Age & " years")
        End If
    
    End Sub
    
  4. Appuyez sur F5 pour exécuter le projet et afficher le formulaire.

    1. Dans la première zone de texte, tapez votre prénom.

    2. Dans la deuxième zone de texte, tapez votre deuxième prénom.

    3. Dans la troisième zone de texte, tapez votre nom.

    4. Dans la quatrième zone de texte, tapez l'année (quatre chiffres) de votre naissance (par exemple, 1983).

    5. Activez la case à cocher si vous êtes marié.

  5. Cliquez sur le bouton Mise à jour pour définir les propriétés de la classe, puis cliquez sur le bouton Nom complet.

    Un message affiche votre nom complet. Si vous avez plus de 18 ans, un message affiche des informations sur la durée de votre majorité. Si vous avez moins de 18 ans, un message affiche des informations sur la durée à attendre avant que vous ayez 18 ans. Puis un autre message affiche votre âge.

  6. Dans le menu Fichier, cliquez sur Enregistrer tout.

Étapes suivantes

Dans cette leçon, vous avez appris à créer un projet de test et à l'utiliser pour tester les propriétés, les méthodes et les événements de votre classe. Dans la leçon suivante, vous apprendrez comment utiliser l'héritage pour créer une classe qui repose sur une classe existante.

Leçon suivante : Génération d'une classe à partir d'une classe existante : utilisation de l'héritage.

Voir aussi

Tâches

Ajout de méthodes à une classe

Présentation détaillée : création de plusieurs versions de la même méthode avec surcharge