Поделиться через


Тестирование класса

Обновлен: Ноябрь 2007

В этом разделе будет рассказано, как создать экземпляр класса, чтобы протестировать класс.

На прошлых занятиях был создан класс Persons, а также были заданы его свойства, методы и событий. Таким образом, все, что было сделано на данный момент — это добавление кода. Теперь пришло время использовать класс Persons и убедиться, что он работает так же, как ожидалось.

Создание экземпляра класса

Хотя конкретно это не указывалось, но классы использовались во многих предыдущих разделах. Формы и элементы управления фактически являются классами; при перетаскивании элемента управления Кнопка на форму фактически создается экземпляр класса Button.

Можно также создать экземпляр любого класса в коде, объявив его с помощью ключевого слова New. Например, для создания нового экземпляра класса Button нужно будет добавить приведенный ниже код.

Dim aButton As New Button

Чтобы использовать и протестировать класс Persons, необходимо сначала создать тестовый проект и добавить ссылку на модуль класса.

Практическое задание

Чтобы создать тестовый проект для класса

  1. Откройте проект Persons, созданный на предыдущем занятии. Если он не был сохранен, сначала необходимо вернуться к предыдущему разделу Добавление методов в класс и завершить описанные в нем действия.

  2. В меню Файл выберите команду Добавить, затем выберите пункт Создать проект.

  3. В области Шаблоны диалогового окна Создание проекта выберите Приложение Windows Forms.

  4. В поле Имя введите PersonsTest и нажмите кнопку ОК.

    В Обозреватель решений добавляется новый проект Windows Forms, и появляется новая форма.

  5. В Обозревателе решений выберите проект PersonsTest, а затем в меню Проект щелкните пункт Назначить запускаемым проектом.

  6. В Обозревателе решений выберите проект PersonsTest, и затем в меню Проект выберите Добавить ссылку.

    Откроется диалоговое окно Добавление ссылки.

  7. Перейдите на вкладку Проекты и выберите Persons, после чего нажмите кнопку OK.

  8. Дважды щелкните форму, чтобы открыть редактор кода, а затем введите следующее объявление прямо под строкой Public Class Form1.

    Dim person1 As New Persons.Persons
    

    Этот код объявляет новый экземпляр класса Persons. Возможно, не совсем понятно, почему нужно указывать Persons два раза, однако первая строка относится к модулю класса Persons.vb, а вторая — к классу Persons этого модуля.

  9. В меню Файл выберите Сохранить все.

Проверка класса

Следующим шагом является добавление пользовательского интерфейса и кода, использующего класс Persons. Будут добавлены текстовые поля, в которые пользователь будет вводить значения для каждого свойства (за исключением свойства Age, предназначенного только для чтения), флажок для поля Married и кнопки для проверки всех открытых методов.

Практическое задание

Чтобы проверить класс

  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. В четвертом текстовом поле введите свой год рождения в формате 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. В четвертом текстовом поле введите свой год рождения в формате 4 цифр (например, 1983).

    5. Установите флажок, если состоите в браке.

  8. Нажмите кнопку Обновить для установки свойств класса, а затем нажмите кнопку With.

    Отобразится окно сообщения. Оно покажет ваше имя с точкой после инициала отчества.

  9. Нажмите кнопку Without.

    Отобразится окно сообщения. Оно покажет ваше имя без точки после инициала отчества.

  10. В меню Файл выберите Сохранить все.

Тестирование обработчиков событий

После завершения необязательного раздела Подробное рассмотрение. Обработка событий может возникнуть желание проверить обработчики событий, добавленные к классу Persons. Если не удалось выполнить это задание, можно вернуться назад и сделать это сейчас, или пропустить процедуру, приведенную ниже.

Практическое задание

Для проверки обработчика событий

  1. В Обозревателе решений выберите форму Form1, затем в меню Вид выберите Код.

  2. Добавьте оператор WithEvents перед объявлением person1, как показано в следующем коде:

    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. В четвертом текстовом поле введите свой год рождения в формате 4 цифр (например, 1983).

    5. Установите флажок, если состоите в браке.

  5. Нажмите кнопку Обновить для установки свойств класса, а затем нажмите кнопку Полное имя.

    Окно сообщения отобразит полное имя. Если вам больше 18 лет, другое окно сообщения отобразит сведения о том, как давно наступило совершеннолетие. Если вам еще нет 18 лет, окно сообщения отобразит сведения о том, сколько лет осталось до совершеннолетия. Затем еще одно окно сообщения отобразит сам возраст.

  6. В меню Файл выберите Сохранить все.

Следующие действия

В этом разделе было показано, как создать тестовый проект и затем использовать его для проверки свойств, методов и событий класса. В следующем разделе будет описано, как использовать наследование для создания класса на основе существующего класса.

Следующее занятие: Создание класса на основе существующего класса. Применение наследования.

См. также

Задачи

Добавление методов в класс

Подробное рассмотрение. Создание нескольких версий одного метода путем перегрузки