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


Проверка кода при помощи модульных тестов

Модульные тесты позволяют разработчикам и тест-инженерам быстро искать логические ошибки в методах классов для проектов на языках Visual C#, Visual Basic и Visual C++. Модульный тест можно создать один раз, а затем выполнять каждый раз при изменении исходного кода, чтобы убедиться в отсутствии ошибок.

Ключевые задачи

Следующие разделы помогут в понимании и создании модульных тестов.

Задачи

Связанные разделы

Сведения о структуре модульного теста. Содержит описание составляющих модульного теста и файлов, добавляемых в решение при создании модульного теста с помощью средств тестирования Visual Studio.

Создание и запуск модульных тестов. Способы создания модульных тестов, включая модульные тесты на основе данных и модульные тесты для DLL- и EXE-файлов, для которых отсутствует исходный код.

Рекомендации по созданию определенных типов модульных тестов. Содержит ссылки на разделы с описанием различий и дополнительной информацией о модульных тестах и C++, универсальных методах, веб-службах и интеллектуальных устройствах.

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

ПримечаниеПримечание
Для создания и использования нагрузочных тестов требуется Visual Studio 2010 Ultimate.

Использование покрытия кода для определения части кода проекта, тестируемой с помощью модульных тестов. Содержит сведения о функции покрытия кода в средствах тестирования Visual Studio Application Lifecycle Management.

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

Расширение типа модульного теста. В тесты можно добавить функциональность, которая может отсутствовать в платформе модульных тестов. Например, можно добавить свойство теста, указывающее, должен ли тест выполняться в качестве обычного пользователя. Или можно расширить платформу, чтобы добавить строковые атрибуты в метод и использовать данные из этой строки внутри теста.

Пример кода, показывающего, как расширять платформу модульных тестов, см. на следующем веб-сайте Майкрософт.

Связанные задачи

Просмотр результатов теста

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

Выполнение автоматических тестов с помощью Microsoft Visual Studio

Предоставляет ссылки на информацию об использовании Visual Studio в противоположность использованию Microsoft Test Manager для запуска автоматических тестов.

Автоматические инструменты для модульного тестирования

  • Pex   Pex — это надстройка Visual Studio, дополняющая модульное тестирование для приложений .NET Framework. Надстройка Pex находит входные и выходные значения методов в редакторе кода Visual Studio. Можно сохранить эти значения в качестве небольшого набора тестов с высоким покрытием кода.

  • Moles   Платформа Moles позволяет заменить делегатом любой метод .NET. Платформа Moles поддерживает модульное тестирование, обеспечивая изоляцию с помощью обходов и заглушек. Так как платформа Moles работает на уровне методов, она является альтернативой имитации, когда целевой API не поддерживает ее. SharePoint — это популярный пример API, который получает преимущества от изоляции, но не имеет непосредственной поддержки имитации. Платформу Moles можно также использовать для внесения ошибок, так как она позволяет легко ввести произвольное поведение в тестируемый код.

    Надстройка Pex доступна только подписчикам MSDN и включает в себя платформу Moles. Платформа Moles доступна для загрузки без ограничений. Получить дополнительные сведения об этих инструментах, а также загрузить эти инструменты можно на странице Pex and Moles.

Ссылки

  • Microsoft.VisualStudio.TestTools.UnitTesting
    Описание пространства имен UnitTesting, предоставляющего атрибуты, исключения, утверждения и другие классы, поддерживающие модульное тестирование.

  • Microsoft.VisualStudio.TestTools.UnitTesting.Web
    Описание пространства имен UnitTesting.Web, расширяющего пространство имен UnitTesting за счет поддержки ASP.NET и модульных тестов веб-службы. 

См. также

Основные понятия

Выполнение общих задач разработки

Тестирование приложения