Практическое руководство. Создание модульного теста без исходного кода
Модульный тест можно создать даже для EXE- или DLL-файла, к исходному коду которого отсутствует доступ. Так же как и другие модульные тесты, модульный тест для скомпилированного EXE- или DLL-файла создается в два этапа.
Первый этап заключается в создании файла модульного теста, содержащего версию схемы метода теста для каждого тестируемого метода кода. Каждый созданный метод теста схемы имеет пустые переменные и оператор-заполнитель Assert.
На втором этапе выполняется инициализация переменных и замена оператора-заполнителя Assert необходимым оператором.
После создания модульного теста его можно выполнить в любое время.
Примечание
Инструкции по созданию модульного теста для кода, к которому отсутствует доступ, см. в разделе Создание и запуск модульных тестов для существующего кода.
Создание схемы для модульного теста
Запустите Visual Studio, откройте меню Тест и выберите команду Новый тест.
В диалоговом окне Новый тест щелкните Мастер модульного теста.
В поле Добавить в тестовый проект выберите тип проекта, который нужно создать, а затем нажмите кнопку ОК.
В диалоговом окне Новый тестовый проект введите новое имя или примите имя, заданное по умолчанию, затем нажмите кнопку Создать.
В диалоговом окне Создать модульные тесты нажмите кнопку Добавить сборку.
В диалоговом окне Добавление сборки найдите сборку, для которой следует создать модульные тесты, а затем нажмите кнопку Открыть.
В диалоговом окне Создать модульные тесты в разделе Типы выберите методы, для которых нужно создать модульные тесты, а затем нажмите кнопку ОК.
Добавление проверки к модульному тесту
Откройте файл модульных тестов, содержащий модульный тест, и найдите в нем модульный тест, для которого необходимо инициализировать переменные.
Найдите в модульном тесте присвоения переменных.
В только что созданных тестах присвоения переменных помечены операторами TODO, которые напоминают о необходимости изменить присвоение. Например, ниже приведен пример типичного присвоения, которое следует изменить:
string target.owner = null; // TODO: Initialize to an appropriate value
Присвойте каждой переменной соответствующее значение. Пример присвоения соответствующих значений см. в описании процедуры "Запуск и изменение модульного теста" в руководстве Пошаговое руководство. Создание и запуск модульных тестов.
Найдите и измените в модульном тесте оператор Assert. При необходимости добавьте дополнительные операторы Assert. Дополнительные сведения о доступных операторах Assert см. в разделе Использование классов Assert.
(Не обязательно) Добавьте к модульным тестам код настройки и код очистки с помощью методов [TestInitialize()] и [TestCleanup()] пространства имен Microsoft.VisualStudio.TestTools.UnitTesting. При создании модульного теста в файл модульных тестов добавляется раздел "Дополнительные атрибуты тестирования". Разверните этот раздел, чтобы просмотреть закомментированные методы, которые могут использоваться для включения инициализации и очистки.