Выполнение тестов в процессе построения

Можно использовать Team Foundation Build для выполнения автоматических тестов и анализа влияния изменений кода на тесты как части процесса построения.Например, можно определить процесс построения, который будет запускать регулярный тест проверки построения.Можно также выполнять автоматические тесты и запускать задачи, связанные с тестами, из пользовательских процессов построения.

ПримечаниеПримечание

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

Содержание раздела

  • Подготовка к выполнению тестов в процессе построения

  • Необходимые разрешения

  • Используйте тестовый запуск для выполнения автоматических тестов

  • Выбор и настройка Средства выполнения тестов

    • Использование средства выполнения тестов Visual Studio Test Runner для выполнения тестов

    • Использование MSTest для выполнения тестов

  • Временное отключение тестов

  • Включение анализа влияния на тесты

  • Настройте стороннюю платформу тестирования модулей

  • Выполнение тестов из пользовательского процесса построения

  • Дополнительные сведения

Подготовка к выполнению тестов в процессе построения

Перед выполнением тестов в процессе построения можно сначала подготовить тесты и пользовательскую систему построения.

Подготовка тестов: Убедитесь, что решение и файлы тестов возвращены в систему управления версиями.Дополнительные сведения см. в разделе Использование управления версиями.

Классифицирование и назначение приоритета тестов (необязательно): Можно присвоить категории и приоритеты тестам, а затем отфильтровать эти атрибуты при запуске их в построении.Например, можно создать категорию тестов CI (непрерывная интеграция) и указать эту категорию в построениях непрерывной интеграции.Можно создать другую категорию для тестов проверки построений и затем указать эту категорию в запланированных построениях, таких как построения, выполняемые ночью.Дополнительные сведения см. в разделах Определение категорий тестов для группировки тестов, TestCategoryAttribute и PriorityAttribute.

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

необходимо, чтобы Microsoft Visual Studio устанавливается на сервере построений для следующих сценариев:

  • Для построения любой тестовый проект CPP необходимо настроить Visual Studio Professional или более поздней версии.

  • Для выполнения модульных тестов или закодированный тест пользовательского интерфейса необходимо настроить Visual Studio Professional или более поздней версии.

  • Использовать данные и адаптеров диагностических данных.

    1. Покрытие кода: Visual Studio Premium или более поздней версии.

    2. Влияние на тесты. Visual Studio Ultimate.

    3. IntelliTrace: Visual Studio Ultimate.

  • Построение всех современные приложения стиля на компьютере построения. Visual Studio Ultimate или Visual Studio Express для Windows 8 (операционная система построений на сервере должна быть Windows 8).

  • Компилировать и выполнять тесты для проекта с подделыванной сборкой. Visual Studio Ultimate.

Необходимые разрешения

Для выполнения этих процедур необходимо задать для разрешения Редактировать определение построения значение Разрешить.Дополнительные сведения см. в разделе Разрешения Team Foundation Server.

Выполнение автоматических тестов

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

  • тесты для выполнения;

  • параметры, используемые для выполнения тестов;

  • параметр, определяющий, будет ли построение завершаться ошибкой в случае сбоя теста.

Для выполнения автоматических тестов в процессе построения основанном на шаблоне по умолчанию

  1. В строке меню выберите Вид, Командный обозреватель.

  2. В Team Explorer выберите Значок "Начало"Главная, а затем выберите Значок построенийПостроения.

  3. На странице Построения выберите Создать определение построения или откройте контекстное меню для построения или выбранного определения построения, и выберите Редактировать определение построения.

    Появится окно Определение построения.

  4. На вкладке Процесс определения построения разверните узел Основной.

  5. Выделите флажок Автоматизированные тесты, а затем нажмите кнопку с многоточием (...).

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

  6. Выполните одно из следующих действий.

    • Для добавления набора тестов выберите Добавить.

    • Для изменения набора тестов, выберите его, а затем выберите Изменить.

    Откроется диалоговое окно Добавить/Изменить тест.

  7. (Необязательно) укажите Имя тестового запуска.Это имя отображается в окне результатов построения.Если имя не указано, то система автоматически создаст его.

  8. Если требуется завершить построение неудачей в случае, если любые тесты в этом сеансе не пройдены, выберите Завершить построение при ошибке теста.Если оставить этот флажок снятым, то в случае сбоя теста для состояния выполненного построения будет установлено значение Частично успешно.

  9. Выберите средство выполнения тестов.Укажите, как средство Test Runner будет работать, используя параметры, которые отображаются.Дополнительные сведения см. в разделе Выбор и настройка средства выполнения тестов.

Выбор и настройка средства выполнения тестов

При указании процесс построения выберите средство выполнения тестов, которое предоставляет требуемую функциональность.

Возможность

Средство выполнения тестов Visual Studio

MSTest

Выполните модульные тесты, написанные в рамках платформы Microsoft.VisualStudio.TestTools.UnitTesting.

Да

Да

Запуск закодированных тестов пользовательского интерфейса, универсальных тестов и упорядоченных тестов

Да

Да

Сбор данных о покрытии кода

Да

Да

Выполнение модульных тестов, написанных на нескольких платформах, например NUnit, xUnit и других.

Да

Нет

Выполнение модульных тестов в неуправляемых двоичных файлах (например, C++).

Да

Нет

Выполните модульные тесты в приложении Магазин Windows.

Да

Нет

Выполнение 64-разрядных тестов

ПримечаниеПримечание
MSTest может выполнять тесты в 64-разрядных бинарных файлах, скомпилированных Любым ЦП, определенным как Платформа.

Да

Нет

Запуск тестов, которые зависят от подделанных объектов платформы.

Дополнительные сведения об использовании платформы тестовых заполнителей для создания заглушек и модификаторов тестов на основе делегатов в приложениях .NET Framework см. в разделе Изоляция тестируемого кода с помощью Microsoft Fakes.

Да

Нет

Создание тестовых данных баз данных и запуск модульных тестов для баз данных.

Нет

Да

Сбор данных для анализа влияния на тесты

Нет

Да

Запуск нагрузочных тестов и веб-тестов

Нет

Да

ПримечаниеПримечание

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

После того как вы выясните, какие возможности требует тестовый запуск, выберите средство выполнения тестов:

  • Средство выполнения тестов Visual Studio

  • MSTest с файлом параметров тестирования

  • MSTest с файлом метаданных

ms253138.collapse_all(ru-ru,VS.110).gifИспользование средства выполнения тестов Visual Studio Test Runner для выполнения тестов

С помощью средства выполнения тестов Visual Studio для выполнения тестов из процесса построения, основанный на шаблоне по умолчанию

  1. В Team Explorer откройте Построения, а затем добавьте или измените определение построения.

    На странице Процесс разверните узел Основные и выберите Автоматические тесты.Нажмите кнопку с многоточием (...) в конце линии и выберите значение Добавить или Изменить источник теста.

  2. В диалоговом окне Добавить/Редактировать тестовый запуск в разделе Средство запуска тестов выберите Средство выполнения тестов Visual Studio.

  3. Спецификация файла сборки теста

    Укажите двоичные файлы, содержащие тесты, которые необходимо выполнить.Если требуется, чтобы агентом построения выполнялся рекурсивный поиск всех DLL-файлов, соответствующих спецификации *test*.dll, в подкаталоге binaries рабочего каталога агента построения, оставьте значение по умолчанию (**\*test*.dll).Можно также изменить спецификацию файла в соответствии с конкретными потребностями.

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

    Кроме того, можно использовать параметр Настраиваемый для задания RUNSETTINGS-файла.Для получения дополнительной информации см. Настройка анализа покрытия кода.

  5. В меню Укажите целевую платформу для выполнения тестов выберите x86 для тестирования 32-разрядных двоичных файлов или x64 для тестирования 64-разрядных двоичных файлов.

  6. Вы можете указать условия для выполняемых тестов.

ms253138.collapse_all(ru-ru,VS.110).gifУказание условий для тестов, выполняемых с помощью средства выполнения тестов Visual Studio Test Runner

Можно указать пару имя/значение для фильтрации выполняемых тестов.Если для упорядочения и определения приоритетов тестов используются атрибуты категории и приоритета, можно фильтровать выполняемые тесты с помощью имен TestCategory и Priority.

Категории тестов указываются одним из следующих способов.

  • Укажите одну пару "имя-значение" для включения. Допустим, имеется категория тестов с именем bvt.Необходимо установить Фильтр тестовых случаев в TestCategory=bvt для выполнения только тестов в этой категории.

  • Укажите несколько категорий тестов с помощью || (оператор "или"). Например, можно задать TestCategory=quick||TestCategory=gui, чтобы выполнить тесты, принадлежащие категориям quick или gui.

ms253138.collapse_all(ru-ru,VS.110).gifИспользование MSTest для выполнения тестов

Использование MSTest для выполнения тестов в процессе построения, основанном на шаблоне по умолчанию

  1. Используйте тестовый запуск для выполнения автоматических тестов и выполнения других задач теста, затем в диалоговом окне Добавить/Редактировать тестовый запуск в разделе Средство запуска тестов выберите:

    • MSTest.exe Runner

      Укажите двоичные файлы, содержащие тесты, которые необходимо выполнить.Если требуется, чтобы агентом построения выполнялся рекурсивный поиск всех DLL-файлов, соответствующих спецификации *test*.dll, в подкаталоге binaries рабочего каталога агента построения, оставьте значение по умолчанию (**\*test*.dll).Можно также изменить спецификацию файла в соответствии с конкретными потребностями.

      (Необязательно) Укажите файл параметров тестирования для настройки выполнения тестов.Дополнительные сведения см. в разделе Указание параметров тестирования для тестов Visual Studio.

    • Файл метаданных теста MsTest (не рекомендуется)

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

      ПримечаниеПримечание

      Списки тестов не рекомендуются.Дополнительные сведения см. в разделе Определение категорий тестов для группировки тестов.

  2. Выберите вкладку Условия/Аргументы.

  3. Можно выполнить фильтрацию тестов для запуска по категориям.

    Категории тестов указываются одним из следующих способов.

    • Задание одной категории тестов, которую требуется включить или исключить. Допустим, имеется категория тестов с именем bvt.Присвойте этому параметру значение bvt для выполнения только тестов из этой категории или !bvt, чтобы выполнить все тесты за исключением данной категории.

    • Задание нескольких категорий тестов с помощью & (оператор "and") и ! ("не"). Например, можно указать выражение quick&gui&!deep, чтобы выполнять только тесты, принадлежащие одновременно категориям quick и gui, но не категории deep.

    • Задание нескольких категорий тестов с помощью оператора | ("или") и оператора ! (оператор "не"). Например, можно указать выражение quick|gui|!deep, чтобы выполнять тесты, принадлежащие категории quick или gui, а также все тесты, не принадлежащие категории deep.

  4. (Необязательно) Выполните фильтрацию тестов для запуска по приоритетам.

    СоветСовет

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

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

    Задайте для параметра Максимальный приоритет теста положительное целое число не меньше значения Минимальный приоритет теста или -1, чтобы указать, что максимального значения нет.

  5. Нажмите кнопку ОК.

Временное отключение тестов

Если необходимо временно отключить тесты без удаления наборов тестов, содержащих их, разверните узел Дополнительно и установите в Отключение тестов значение True.При необходимости снова включить тесты установите значение Ложь.

Включение анализа влияния на тесты

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

Включить анализ влияния на тесты в процессе построения, основанном на шаблоне по умолчанию

  1. Настройте анализ влияния на тесты в файле параметров тестирования.

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

  2. Создайте набор тестов, настроенный для использования файла параметров тестирования.

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

  3. Разверните узел "Дополнительно" и убедитесь, что для параметра Анализировать влияние на тесты установлено значение Истина, а для параметра Отключить тесты — значение Ложь.

Указание нескольких тестовых запусков

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

  • Необходимо использовать средство выполнения тестов Visual Studio для тестирования решения, которое создает 32- или 64-разрядные бинарные файлы.

  • Имеется несколько тестов, которые могут быть запущены Средством выполнения тестов Visual Studio и другие тесты, которые могут быть запущены только MSTest.

  • Имеется два набора тестов.

    • Набор основных тестов высшего приоритета, которые должны завершиться успешно.Указывается набор тестов, содержащий Минимальный приоритет теста и Максимальный приоритет теста равный 1.Установите флажок Завершить построение при ошибке теста.

    • Набор менее важных тестов, которые требуется выполнить. В случае их сбоя построение по-прежнему можно будет использовать.Вы определяете набор тестов, включающий Минимальный приоритет теста равный 2 и Максимальный приоритет теста равный 3.Не устанавливайте флажок Завершить построение при ошибке теста.

  • Требуется выполнить один набор тестов с различными параметрами тестирования.

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

Включить структуру тестирования модуля третьей стороны в контроллере построений

Процесс построения может выполнять модульные тесты для тестирования на основе модуля третьей стороны, только если указан контроллер построений с доступом к сборкам платформы третьей стороны.

  1. Находите, или при необходимости укажите путь к пользовательским сборкам контроллера построений.

  2. Находите, или при необходимости создайте сопоставление из папки пользовательской сборки на сервере в локальную папку в рабочей области.

  3. Получение подключаемый модуль модульного теста третьей стороны.Можно ссылки на некоторые их ниже: Список Plugins модульного тестирования.

  4. Переименуйте файл подключаемого модуля vsix-файл в ZIP-файл.Например, используйте командную строку следующим образом:

    C:\Downloads>ren NUnitTestAdapter.vsix NUnitTestAdapter.zip
    
  5. Распакуйте содержимое ZIP-файла в папку локальной рабочей области сопоставлена на шаге 2.

  6. Вернуть файлы.

    СоветСовет

    Для стратегий, чтобы работать с двоичными файлами третьей стороны в системе управления версиями см. в разделе Используйте бинарный третьей стороны, код не запускается.

[Visual Studio 2012,1] содержит расширение для структур тестирования модуля третьей стороны для автоматизации их включения в определениях командного построения.

Предупреждающее замечаниеВнимание

Можно установить наиболее новой версии пакетов NuGet структуры для тестирования модуля 3rd-party, чтобы гарантировать, что платформа позволяет добиться определения построения.

Включить структуру тестирования модуля третьей стороны в контроллере построений - Visual Studio [2012,1]

  1. В обозревателе решений откройте контекстное меню в тестовом проекте и выберите команду Управление пакетами NuGet.

  2. В диалоговом окне пакетов NuGet элемент управления, в левом столбце, выберите В сети.

  3. Выделите пакет NuGet структуры для тестирования модуля третьей стороны и выберите команду Установить.

  4. После NuGet завершенный пакет установки выберите Закрыть.

  5. В обозревателе решений откройте контекстное меню в обозревателе моделей и выберите Добавить решение в систему управления версиями.

  6. Теперь можно выполнить построение в очередь и тесты со структурой тестирования модуля третьей стороны автоматически запущены.

Работа с тестами в процессе построения, основанном на пользовательском шаблоне

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

Дополнительные сведения

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

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

Раздел Запуск тестов в Microsoft Test Manager содержит дополнительные сведения о выполнении тестов.

См. также

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

Определение процесса построения

Создание и управление тестами в Microsoft Test Manager