Практическое руководство. Группировка и запуск автоматических тестов с помощью категорий тестов

 

Опубликовано: Апрель 2016

Категории тестов позволяют выполнять группы тестов, объединенные на основании присвоенных им категорий, без необходимости ведения списков тестов. Категория тестов — это атрибут метода теста, который можно присвоить одному или нескольким тестам.

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

Требования

  • Visual Studio Enterprise, Visual Studio Test Professional

Создание и назначение категорий тестов

Для добавления категорий тестов в тест вручную выполните следующие действия.

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

  2. Непосредственно перед объявлением метода теста добавьте атрибут [TestCategory()] для каждой категории тестов, назначаемой тесту. Атрибуты следует разделять запятыми.

  3. В круглых скобках каждого атрибута [TestCategory()] укажите имя категории. В следующем примере показан метод, которому назначены три категории тестов с именами "Nightly", "Weekly" и "ShoppingCart":

    [TestCategory("Nightly"), TestCategory("Weekly"), TestCategory("ShoppingCart"), TestMethod()]
    public void DebitTest()
    {
    }
    

Выполнение тестов по категориям

При запуске тестов из командной строки для выбора запускаемых тестов на основе назначенных им категорий можно также использовать логические операторы & (И), | (ИЛИ) и ! (НЕ).

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

  1. Откройте командную строку Visual Studio. (В меню «Пуск» последовательно выберите пункты «Все программы», Microsoft Visual Studio, «Инструменты Visual Studio», «Командная строка разработчика».)

    По умолчанию командная строка Visual Studio откроется в следующей папке:

    <диск>:\Program Files\Microsoft Visual Studio 12.0\VC

    Примечание

    Чтобы изменить папку, которая по умолчанию открывается в окне командной строки, нажмите кнопку Пуск, выберите Microsoft Visual Studio, Инструменты Visual Studio, щелкните правой кнопкой мыши пункт Командная строка разработчика и выберите Свойства.В диалоговом окне Свойства командной строки разработчика можно изменить путь к папке по умолчанию в поле Начальная папка.

  2. Перейдите в каталог, находящийся в папке решения, содержащей контейнер теста (как правило, DLL-файл тестового проекта), или, если на шаге 3 была запущена программа MSTest.exe, укажите полный или относительный путь к контейнеру теста.

    Чтобы определить папку решения, сначала найдите папку Проекты среды Visual Studio. Для этого в Visual Studio в меню Сервис последовательно выберите пункты Параметры и Проекты и решения. В поле Размещение проектов Visual Studio будет указан путь примерно такого вида:

    <drive letter>:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects

    Папка решения обычно находится внутри папки Проекты, как папка Bank в следующем примере:

    <drive letter>:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects\Bank

  3. Для выполнения тестов, назначенных категории "Nightly", запустите программу VSTest.Console.exe с параметром /TestCaseFilter или из MSTest.exe с параметрами /testcontainer и /category:

    VSTest.Console.exe

    Vstest.console.exe myTestProject.dll /TestCaseFilter:TestCategory=Nightly

    MSTest.exe

    mstest /testcontainer:MyTestprojectName.dll /category:"Nightly"

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

    Примечание

    В выражении для выбора категорий тестов можно использовать либо оператор AND, либо оператор OR; использование обоих операторов в одном выражении не допускается.

    Дополнительные сведения см. в разделах Параметры командной строки для VSTest.Console.exe, Запуск автоматических тестов из командной строки с помощью MSTest и Параметры командной строки программы MSTest.exe.

См. также

Определение категорий тестов для группировки тестов