测试类

更新:2007 年 11 月

在本课中,您将学习如何创建一个类的实例来测试该类。

在前几课中,您已经创建了一个 Persons 类,并为其赋予了属性、方法和事件。到目前为止,您所做的只是添加代码 — 而现在要开始使用 Persons 类,并确保它按照预期的方式运行。

创建类的实例

也许您还没有意识到,在前面的许多课程中,您一直都在使用类。窗体和控件其实就是类,当您将一个“Button”控件拖动到窗体上时,实际上就是在创建 Button 类的实例。

您还可以通过使用 New 关键字的声明在代码中实例化任何类。例如,若要创建 Button 类的新实例,需要添加下面的代码。

Dim aButton As New Button

若要使用和测试 Persons 类,必须首先创建一个测试项目并添加对类模块的引用。

试一试!

为类创建测试项目

  1. 打开在上一课中创建的 Persons 项目。如果您未保存它,您必须先返回上一课向类添加方法,完成相应的步骤。

  2. 在“文件”菜单上,指向“添加”,再单击“新建项目”。

  3. 在“新建项目”对话框的“模板”窗格中,单击“Windows 窗体应用程序”。

  4. 在“名称”框中键入 PersonsTest,再单击“确定”。

    一个新的 Windows 窗体项目随即添加到“解决方案资源管理器”中,并出现一个新的窗体。

  5. 在“解决方案资源管理器”中,选择 PersonsTest 项目,然后在“项目”菜单上单击“设为启动项目”。

  6. 在“解决方案资源管理器”中,选择 PersonsTest 项目,然后在“项目”菜单上单击“添加引用”。

    随即出现“添加引用”对话框。

  7. 单击“项目”选项卡,再选择“Persons”,然后单击“确定”。

  8. 双击窗体以打开代码编辑器,然后在紧接 Public Class Form1 行的下面输入以下声明。

    Dim person1 As New Persons.Persons
    

    这将声明 Persons 类的一个新实例。您可能会觉得奇怪,为什么要键入“Persons”两次。这是因为第一个实例是 Persons.vb 类模块,而第二个实例是该模块中的 Persons 类。

  9. 在“文件”菜单上,单击“全部保存”。

测试您的类

下一步是添加使用 Persons 类的用户界面和代码。您将添加供用户输入每个属性(只读的 Age 属性除外)的值的文本框、Age 字段的复选框,以及用于测试每个公共方法的按钮。

试一试!

测试类

  1. 在“解决方案资源管理器”中,选择“Form1”,然后在“视图”菜单上单击“设计器”。

  2. 从“工具箱”中将四个 TextBox 控件、一个 CheckBox 控件和两个 Button 控件拖动到窗体上。

  3. 选择第一个 Button 控件,然后在“属性”窗口中将其 Text 属性设置为 Update。

  4. 选择第二个 Button 控件,然后在“属性”窗口中将其“Text”属性设置为 Full Name。

  5. 双击第一个按钮(“更新”)以打开代码编辑器,然后在 Button1_Click 事件处理程序中添加下面的代码。

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

    请注意,当您键入时,将会显示一个包含 Persons 类的成员的列表。由于它是作为一个引用添加的,IntelliSense 按照显示任何其他类那样显示您的类信息。

  6. 在 Button2_Click 事件处理程序中,添加下面的代码。

    ' 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. 按 F5 运行项目并显示窗体。

    1. 在第一个文本框中,输入一个人的名字。

    2. 在第二个文本框中,输入此人的中间名。

    3. 在第三个文本框中,输入此人的姓氏。

    4. 在第四个文本框中,输入此人的四位数出生年份(如 1983)。

    5. 如果已婚,请选中此复选框。

  8. 单击“更新”按钮,设置该类的属性,然后单击“全名”按钮。

    将显示三个消息框。这三个消息框分别显示此人的全名、年龄和婚姻状况。

  9. 在“文件”菜单上,单击“全部保存”。

测试重载方法

如果您已完成了可选课程详细了解:使用重载创建同一方法的多个版本,您可能还需要测试添加到 Persons 类中的重载方法。如果您还没有完成该课程,您现在可以返回到那一课完成;或者您也可以跳过以下步骤。

试一试!

测试重载方法

  1. 在“解决方案资源管理器”中,选择“Form1”,然后在“视图”菜单中单击“设计器”。

  2. 将另外两个 Button 控件从“工具箱”中拖动到窗体上。

  3. 选择第三个 Button 控件,然后在“属性”窗口中将它的 Text 属性设置为 With。

  4. 选择第四个 Button 控件,然后在“属性”窗口中将它的 Text 属性设置为 Without。

  5. 双击第一个按钮(“With”)以打开代码编辑器,然后在 Button3_Click 事件处理程序中输入下面的代码。

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

    注意,当您键入时,将会显示一个包含 Persons 类的所有成员的列表。由于它是作为一个引用添加的,因此 IntelliSense 将按照显示任何其他类那样显示您的类信息。

  6. 在 Button4_Click 事件处理程序中,添加下面的代码。

    MsgBox(person1.FirstName & " " & person1.MiddleInitial & _
                               " " & person1.LastName)
    
  7. 按 F5 运行项目并显示窗体。

    1. 在第一个文本框中键入一个人的名字。

    2. 在第二个文本框中键入此人的中间名。

    3. 在第三个文本框中键入此人的姓氏。

    4. 在第四个文本框中,键入此人的四位数出生年份(如 1983)。

    5. 如果已婚,请选中此复选框。

  8. 单击“更新”按钮,设置该类的属性,然后单击“With”按钮。

    将显示一个消息框,其中显示了此人的姓名(中间名首字母后有一个句点)。

  9. 单击“Without”按钮。

    将显示一个消息框,其中显示了此人的姓名(中间名首字母后没有句点)。

  10. 在“文件”菜单上,单击“全部保存”。

测试事件处理程序

如果您已完成可选课程详细了解:处理事件,您可能还需要测试添加到 Persons 类中的事件处理程序。如果您还没有完成该课程,则现在可以返回那一课并完成它;或者,您也可以跳过以下步骤。

试一试!

测试事件处理程序

  1. 在“解决方案资源管理器”中,选择“Form1”,然后在“视图”菜单上单击“代码”。

  2. 在 person1 声明之前添加语句 WithEvents,如以下代码所示:

    WithEvents person1 As New Persons.Persons
    
  3. 将以下过程添加到 Form1 中。此代码将检查计算的年龄并根据结果显示一条消息。

    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. 按 F5 运行项目并显示窗体。

    1. 在第一个文本框中键入一个人的名字。

    2. 在第二个文本框中键入此人的中间名。

    3. 在第三个文本框中键入此人的姓氏。

    4. 在第四个文本框中,键入此人的四位数出生年份(如 1983)。

    5. 如果已婚,请选中此复选框。

  5. 单击“更新”按钮,设置该类的属性,然后单击“全名”按钮。

    将显示一个消息框,其中显示了此人的全名。如果此人超过 18 岁,则另一个消息框会显示有关此人超出 18 岁多长时间的信息。如果此人小于 18 岁,则一个消息框会显示有关此人到年满 18 岁还有多长时间的信息。然后,另一个消息框会显示此人的年龄。

  6. 在“文件”菜单上,单击“全部保存”。

后续步骤

在本课中,您学习了如何创建一个测试项目并使用它来测试类的属性、方法和事件。在下一课中,您将学习如何使用继承创建一个基于现有类的新类。

下一课:在现有类的基础上生成类:使用继承

请参见

任务

向类添加方法

详细了解:使用重载创建同一方法的多个版本