Создание модульных тестов

Оценить
(0 голоса)

СущестЬует несколько способов создания модульных тестов. Вы можете сделать это вруч­ную путем создания файла класса и добавления соответствующих ссылок, атрибутов и т. п. Вы можете также добавить модульный тест в тестовый проект при помощи меню Test или контекстного меню тестового проекта. Эти методы создают пустой модульный тест, в кото­рый вы можете добавлять свой код.

Visual Studio обеспечивает средство автоматизации создания модульных тестов. Вы можете щелкнуть правой кнопкой мыши по существующему классу и выбрать в контекстном меню пункт Create Unit Tests. В этом случае Visual Studio сгенерирует набор модульных тестов на базе кода вашего класса. Вы можете также щелкнуть правой кнопкой мыши по тестовому проекту и выбрать Add | Unit Test. Это позволит вам выбрать классы решения, для которых вы хотите сгенерировать модульные тесты.

Генерируется не только заглушечный код. Visual Studio изучает методы и свойства вашего класса и пишет реальные тесты. Конечно, вам придется добавить в них соответствующие значения и проверки, но генерируется вполне неплохой вариант для начала работы. Описание: image685

Рассмотрим пример. Допустим, что у вас есть объект Customer, который содержит такие стандартные свойства, как Name, Address, Phone и Email. Он может также содержать такие методы, как Save, Update и Delete. Предположим также, что вы хотите добавить в ваш тестовый проект новый модульный тест. Visual Studio выдаст вам диалоговое окно Create Unit Tests. Пример показан на рис. 26.12.

Рис. 26.13. Диалоговое окно Test Generation Settings

В этом диалоговом окне вы можете выбрать те члены, для которых вам необходимо сгене­рировать тесты. В этом примере были выбраны члены объекта Customer. Кнопка Settings открывает диалоговое окно, которое позволяет вам указать различные настройки для гене­рирования ваших модульных тестов. На рис. 26.13 показан пример этого диалогового окна. Обратите внимание, что вы можете использовать макротекст [File], [Class] и [Method] для того, чтобы указать, что Visual Studio должна использовать ключевые элементы класса для того, чтобы дать названия частям теста. Описание: image686

Visual Studio генерирует тест для каждого метода и каждого свойства объекта. Для примера рассмотрим свойство Name. В листинге 26.2 показано то, что Visual Studio сгенерировала в качестве модульного теста для данного свойства. Обратите внимание, что этот тест создает новый экземпляр объекта Customer. Затем он пытается установить значение свойства Name. И наконец, он подтверждает, что это присваивание свойству было успешным. Это правиль­ный тест для свойства. Все, что остается сделать разработчику, — это поместить в перемен­ную expected допустимое значение (обратите внимание на TODO) и удалить вызов Assert.Inconclusive.

I Листинг 26.2. Пример автоматически сгенерированного модульного теста

[TestMethod()] public void NameTestO {

Customer target = new Customer();

// TODO: инициализируем соответствующим значением string expected = string.Empty;

// TODO: инициализируем соответствующим значением

string actual;

target.Name = expected;

actual = target.Name;

Assert.AreEqual(expected, actual);

Assert.Inconclusive("Verify the correctness of this test method.");

}

Выполнение модульных тестов
Анализ покрытия кода
Настраиваем анализ покрытия кода
Оценка покрытия кода
Создание сеанса анализа производительности

Добавить комментарий


Защитный код
Обновить

© 2018 www.visualstudios.ru. Все права защищены.