Condividi tramite


Test di una classe

Aggiornamento: novembre 2007

In questa lezione verrà descritto come creare un'istanza di una classe a scopo di test.

Nelle precedenti lezioni è stata creata una classe Persons alla quale sono stati assegnati metodi, proprietà ed eventi. Tutte le operazioni eseguite fino a questo momento consistevano nell'aggiunta di codice. Ora è necessario utilizzare la classe Persons e verificare che funzioni come previsto.

Creazione di un'istanza di una classe

In molte lezioni precedenti sono state utilizzate delle classi, sebbene non in modo esplicito. I form e i controlli sono in realtà delle classi. Quando si trascina un controllo Button in un form, si crea di fatto un'istanza della classe Button.

È anche possibile creare un'istanza di una classe nel codice utilizzando una dichiarazione con la parola chiave New. Per creare ad esempio una nuova istanza della classe Button, aggiungere il codice riportato di seguito.

Dim aButton As New Button

Per utilizzare e testare la classe Persons, è prima necessario creare un progetto di test e aggiungere un riferimento al modulo di classe.

Procedura

Per creare un progetto di test per la classe

  1. Aprire il progetto Persons creato nella lezione precedente. Se il progetto non è stato salvato, sarà necessario tornare prima alla lezione precedente Aggiunta di metodi a una classe e completare le procedure indicate.

  2. Scegliere Aggiungi dal menu File, quindi fare clic su Nuovo progetto.

  3. Nel riquadro Modelli della finestra di dialogo Nuovo progetto, fare clic su Applicazione Windows Form.

  4. Digitare PersonsTest nella casella Nome, quindi scegliere OK.

    Verrà aggiunto un nuovo progetto Windows Form in Esplora soluzioni e verrà visualizzato un nuovo form.

  5. In Esplora soluzioni selezionare il progetto PersonsTest, quindi scegliere Imposta come progetto di avvio dal menu Progetto.

  6. In Esplora soluzioni selezionare il progetto PersonsTest, quindi scegliere Aggiungi riferimento dal menu Progetto.

    Verrà visualizzata la finestra di dialogo Aggiungi riferimento.

  7. Fare clic sulla scheda Progetti, selezionare Persons, quindi scegliere OK.

  8. Fare doppio clic sul form per aprire l'editor del codice, quindi immettere la dichiarazione riportata di seguito immediatamente dopo la riga Public Class Form1.

    Dim person1 As New Persons.Persons
    

    Viene dichiarata una nuova istanza della classe Persons. Il motivo per cui è necessario digitare Persons due volte deriva dal fatto che la prima istanza si riferisce al modulo di classe Persons.vb e la seconda alla classe Persons all'interno di tale modulo.

  9. Scegliere Salva tutto dal menu File.

Test di una classe

Il passaggio successivo da eseguire consiste nell'aggiungere un'interfaccia utente e il codice che utilizza la classe Persons. Verrà eseguita l'aggiunta di alcune caselle di testo, in cui l'utente potrà immettere i valori di ciascuna proprietà, ad eccezione della proprietà in sola lettura Age, di una casella di controllo per il campo Married e di alcuni pulsanti per il test di ciascun metodo pubblico.

Procedura

Per testare la classe

  1. In Esplora soluzioni selezionare Form1, quindi scegliere Finestra di progettazione dal menu Visualizza.

  2. Dalla Casella degli strumenti trascinare quattro controlli TextBox, un controllo CheckBox e due controlli Button nel form.

  3. Selezionare il primo controllo Button, quindi nella finestra Proprietà impostare la relativa proprietà Text su Update.

  4. Selezionare il secondo controllo Button, quindi nella finestra Proprietà impostarne la proprietà Text su Full Name.

  5. Fare doppio clic sul primo pulsante (Aggiorna) per aprire l'editor di codice, quindi nel gestore eventi Button1_Click aggiungere il codice riportato di seguito.

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

    Mentre si digita viene visualizzato un elenco che contiene i membri della classe Persons. Poiché è stato aggiunto come riferimento, IntelliSense visualizza informazioni sulla classe creata, come per qualsiasi altra classe.

  6. Nel gestore eventi Button2_Click aggiungere il codice riportato di seguito.

    ' 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. Premere F5 per eseguire il progetto e visualizzare il form.

    1. Nella prima casella di testo immettere il proprio nome.

    2. Nella seconda casella di testo immettere il secondo nome.

    3. Nella terza casella di testo immettere il cognome.

    4. Nella quarta casella di testo immettere l'anno di nascita composto da quattro cifre (ad esempio, 1983).

    5. Selezionare la casella di controllo relativa allo stato civile.

  8. Fare clic sul pulsante Aggiorna per impostare le proprietà della classe, quindi fare clic sul pulsante Nome completo.

    Vengono visualizzate tre finestre di messaggio, in cui sono contenuti il nome completo, l'età e lo stato civile.

  9. Scegliere Salva tutto dal menu File.

Test di metodi sottoposti a overload

Se si è completata la lezione facoltativa Informazioni dettagliate: creazione di più versioni dello stesso metodo con overload, è consigliabile eseguire il test anche dei metodi di overload aggiunti alla classe Persons. Se non si è completata tale lezione, è possibile completarla ora oppure ignorare la procedura riportata di seguito.

Procedura

Per testare i metodi sottoposti a overload

  1. In Esplora soluzioni selezionare Form1, quindi scegliere Finestra di progettazione dal menu Visualizza.

  2. Dalla Casella degli strumenti trascinare altri due controlli Button nel form.

  3. Selezionare il terzo controllo Button, quindi nella finestra Proprietà impostare la proprietà Text su With.

  4. Selezionare il quarto controllo Button, quindi nella finestra Proprietà impostare la proprietà Text su Without.

  5. Fare doppio clic sul primo pulsante (With) per aprire l'editor di codice, quindi immettere il codice riportato di seguito nel gestore eventi Button3_Click.

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

    Mentre si digita viene visualizzato un elenco che contiene tutti i membri della classe Persons. Poiché è stato aggiunto come riferimento, IntelliSense visualizza informazioni sulla classe creata, come per qualsiasi altra classe.

  6. Nel gestore eventi Button4_Click aggiungere il codice riportato di seguito.

    MsgBox(person1.FirstName & " " & person1.MiddleInitial & _
                               " " & person1.LastName)
    
  7. Premere F5 per eseguire il progetto e visualizzare il form.

    1. Nella prima casella di testo digitare il proprio nome.

    2. Nella seconda casella di testo digitare il secondo nome.

    3. Nella terza casella di testo digitare il cognome.

    4. Nella quarta casella di testo digitare l'anno di nascita composto da quattro cifre (ad esempio, 1983).

    5. Selezionare la casella di controllo relativa allo stato civile.

  8. Fare clic sul pulsante Aggiorna per impostare le proprietà della classe, quindi fare clic sul pulsante With.

    Viene visualizzata una finestra di messaggio, contenente il nome dell'utente con un punto dopo l'iniziale del secondo nome.

  9. Fare clic sul pulsante Without.

    Viene visualizzata una finestra di messaggio, contenente il nome dell'utente senza un punto dopo l'iniziale del secondo nome.

  10. Scegliere Salva tutto dal menu File.

Test dei gestori eventi

Se si è completata la lezione facoltativa Informazioni dettagliate: gestione di eventi, sarà possibile testare i gestori eventi aggiunti alla classe Persons. Se non si è completata tale lezione, è possibile completarla ora oppure ignorare la procedura riportata di seguito.

Procedura

Per testare il gestore eventi

  1. In Esplora soluzioni selezionare Form1, quindi scegliere Codice dal menu Visualizza.

  2. Aggiungere l'istruzione WithEvents prima della dichiarazione person1, come mostrato nel codice seguente:

    WithEvents person1 As New Persons.Persons
    
  3. Aggiungere a Form1 la procedura riportata di seguito. In questo codice viene controllata l'età calcolata e viene visualizzato un messaggio basato sul risultato.

    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. Premere F5 per eseguire il progetto e visualizzare il form.

    1. Nella prima casella di testo digitare il proprio nome.

    2. Nella seconda casella di testo digitare il secondo nome.

    3. Nella terza casella di testo digitare il cognome.

    4. Nella quarta casella di testo digitare l'anno di nascita composto da quattro cifre (ad esempio, 1983).

    5. Selezionare la casella di controllo relativa allo stato civile.

  5. Fare clic sul pulsante Aggiorna per impostare le proprietà della classe, quindi fare clic sul pulsante Nome completo.

    In una finestra di messaggio viene visualizzato il nome completo. Se si hanno più di diciotto anni, in un'altra finestra di messaggio vengono visualizzate informazioni che indicano da quanto tempo si sono superati i diciotto anni. Se si hanno meno di diciotto anni, in una finestra di messaggio vengono visualizzate informazioni che indicano quanto tempo manca al compimento dei diciotto anni. Infine, in un'altra finestra di messaggio viene visualizzata l'età attuale.

  6. Scegliere Salva tutto dal menu File.

Passaggi successivi

In questa lezione è stato descritto come creare un progetto di test e utilizzarlo per testare le proprietà, i metodi e gli eventi della classe. Nella lezione successiva verrà descritto come utilizzare l'ereditarietà per creare una classe in base a una classe esistente.

Lezione successiva: Creazione di una classe in base a una classe esistente: utilizzo dell'ereditarietà

Vedere anche

Attività

Aggiunta di metodi a una classe

Informazioni dettagliate: creazione di più versioni dello stesso metodo con overload