Пример подготовки к тестированию экземпляра класса
После того как вы определили и разработали класс, вы должны его протестировать. Обычный способ тестирования класса – это написать процедуру, которая создаёт экземпляры класса и выполняет каждый конструктор, метод и деструктор. Полезно вести запись результатов тестирования, как правило, в файле. Это позволяет сравнивать результаты тестов при внесении изменений в класс.
Во время создания тестовой процедуру необходимо описать следующие инструкции чтобы:
- Определить переменную с типом класса.
- Создать несколько экземпляров класса с присвоением их ссылок переменной.
- Убедиться в вызове каждого конструктора.
- Передать диапазон значений, чтобы полностью протестировать конструкторы.
- Вызвать каждый метод класса используя ссылку.
- Передать диапазон значений, чтобы полностью протестировать методы.
- На протяжении всего процесса записывать соответствующие данные в выходной файл.
- Удалить экземпляры класса после использования.
При разработке процедуры тестирования класса определяется одна переменная, которая будет содержать ссылку на экземпляр класса. Эту переменную можно использовать для разных экземпляров класса.
Рассмотрим код подготовки к тестированию экземпляра класса Employee.
block-level on error undo, throw. using Sandbox.TestClasses.Employee. /* переменная для хранения экземпляра Employee */ define variable Emp as Employee no-undo. /* переменная для хранения массива телефонных номеров */ define variable Phones as character extent 3 no-undo. /* подготовка файла для записи данных*/ output to "TesеEmployee.out". /* создание экземпляра класса */ Emp = new Employee(). /* прочие действия... */
Здесь сначала с помощью оператора using определяется класс Sandbox.TestClasses.Employee. Затем определяется переменная Emp, которая будет содержать ссылку на экземпляр класса Employee. Далее определяется переменная для символьного массива, который будет содержать значения телефонных номеров. Затем указывается файл, в которой будет записан результат работы процедуры. Вы можете записывать в файл любую информацию на разных этапах тестирования. В завершение создаётся экземпляр класса Employee, и ссылка на него присваивается переменной Emp. В это время вызывается конструктор класса Employee по умолчанию, которые не принимает аргументов.
Если ваш класс содержит более одной версии конструктора, то вы должны написать код для вызова каждого из них и протестировать. Если конструктор класса принимает параметры, необходимо добавить код для создания экземпляров, которые проверяют диапазон значений параметров для этого конструктора. Например, вы можете написать код для передачи допустимых значений и, возможно, для передачи недопустимых значений.