Практическое руководство. Группировка и запуск автоматических тестов с помощью категорий тестов
Категории тестов позволяют выполнять группы тестов, объединенные на основании присвоенных им категорий, без необходимости ведения списков тестов. Категория тестов — это атрибут метода теста, который можно присвоить одному или нескольким тестам с помощью редактора списка тестов.
Для одновременного запуска тестов из нескольких категорий или ограничения выполняемых тестов только тестами из определенных категорий можно использовать категории тестов вместе с логическими операторами. Кроме того, категории тестов легко добавлять при создании методов тестов, и после создания этих методов не требуется вести списки тестов.
В следующих процедурах описывается порядок создания, назначения, фильтрации и выполнения категорий тестов вместе с тестами.
Создание и назначение категорий тестов
Создание новой категории тестов
В меню Тест последовательно щелкните пункты Окна и Представление теста.
Откроется окно Представление теста.
Выберите тест.
В области свойств выбранного теста нажмите кнопку с многоточием (…) в столбце Категории теста.
Откроется окно Категория проверки.
В поле Добавить новую категорию введите имя новой категории тестов.
Нажмите кнопку Добавить.
Нажмите кнопку ОК.
Тесту присваивается новая категория, которая также будет доступна для других тестов в редакторе списка тестов.
Для назначения тесту категорий тестов выполните следующие действия.
В меню Тест последовательно щелкните пункты Окна и Представление теста.
Откроется окно Представление теста.
Выберите тест.
В области свойств выбранного теста нажмите кнопку с многоточием (…) в столбце Категории теста.
Откроется окно Категория проверки.
Выберите в области Доступные категории категорию теста, которую необходимо назначить тесту. Для выбора нескольких категорий тестов нажмите сочетание клавиш SHIFT+M.
Щелкните значок >>.
Выбранные категории появятся в области Назначенные категории.
Нажмите кнопку ОК.
Для добавления категорий тестов в тест вручную выполните следующие действия.
В тестовом проекте найдите и откройте в обозревателе решений файл, содержащий модульный тест, затем найдите метод модульного теста, который нужно изменить.
- или -
В окне Представление теста дважды щелкните модульный тест и прокрутите до метода модульного теста.
Непосредственно перед объявлением метода теста добавьте атрибут [TestCategory()] для каждой категории тестов, назначаемой тесту. Атрибуты следует разделять запятыми.
В круглых скобках каждого атрибута [TestCategory()] укажите имя категории. В следующем примере показан метод, которому назначены три категории тестов с именами "Nightly", "Weekly" и "ShoppingCart":
[TestCategory("Nightly"), TestCategory("Weekly"), TestCategory("ShoppingCart"), TestMethod()] public Void DebitTest() { }
Удаление категорий тестов
Для удаления категорий тестов из теста выполните следующие действия.
В меню Тест последовательно щелкните пункты Окна и Представление теста.
Откроется окно Представление теста.
Выберите тест.
В области свойств выбранного теста нажмите кнопку с многоточием (…) в столбце Категории теста.
Откроется окно Категория проверки.
Выберите в области Назначенные категории категорию теста, которую необходимо удалить из теста. Для выбора нескольких категорий тестов нажмите сочетание клавиш SHIFT+M.
Щелкните значок <<.
Выбранные категории появятся в области Доступные категории.
Нажмите кнопку ОК.
Фильтрация тестов по категориям
Для сортировки тестов по категориям в окне представления теста выполните следующие действия.
В меню Тест последовательно щелкните пункты Окна и Представление теста.
Откроется окно Представление теста.
На панели инструментов окна Представление теста щелкните стрелку левого раскрывающегося списка и выберите пункт Категории теста.
По умолчанию установлено значение [Все столбцы].
В текстовом поле фильтрации введите имя категории, по которой необходимо выполнить фильтрацию, и нажмите клавишу ВВОД.
В представлении теста отображаются тесты, связанные с указанной категорией.
Значение по умолчанию — <Очистить фильтр>.
(Необязательно) Для сортировки списка щелкните заголовок столбца Имя теста или Проект.
Выполнение тестов по категориям
Для запуска тестов с помощью категорий в окне представления теста выполните следующие действия.
В меню Тест последовательно щелкните пункты Окна и Представление теста.
Откроется окно Представление теста.
На панели инструментов окна Представление теста щелкните стрелку левого раскрывающегося списка и выберите пункт Категории теста.
По умолчанию установлено значение [Все столбцы].
В текстовом поле фильтрации введите имя категории, по которой необходимо выполнить фильтрацию, и нажмите клавишу ВВОД.
В представлении теста отображаются тесты, связанные с указанной категорией.
Значение по умолчанию — <Очистить фильтр>.
Примечание
При фильтрации тестов, которые требуется запустить из представления тестов, нельзя применять логические операторы к категориям тестов.Это возможно только при запуске тестов из командной строки.
(Необязательно) Для сортировки списка щелкните заголовок столбца Имя теста или Проект.
Щелкните тесты в категории, предназначенной для запуска.
Для выбора дополнительных тестов щелкните их, удерживая клавишу SHIFT или CTRL.
Щелкните значок Выполнить выбранное на панели инструментов.
При запуске тестов из командной строки для выбора предназначенных к запуску тестов на основе назначенных им категорий можно также использовать логические операторы & (И), | (ИЛИ) и ! (НЕ).
Для запуска теста с помощью категорий из командной строки выполните следующие действия.
Откройте командную строку Visual Studio.
Для этого нажмите кнопку Пуск, последовательно выберите Все программы, Microsoft Visual Studio 2010, Средства Visual Studio, после чего выберите пункт Командная строка Visual Studio 10.0.
По умолчанию командная строка Visual Studio откроется в следующей папке:
<диск>:\Program Files\Microsoft Visual Studio 10.0\VC
Примечание
Чтобы изменить папку, которая по умолчанию открывается в окне командной строки, нажмите кнопку Пуск, выберите Microsoft Visual Studio 2010, Средства Visual Studio, щелкните правой кнопкой мыши пункт Командная строка Visual Studio 10.0 и выберите Свойства.В диалоговом окне Свойства командной строки Visual Studio 10.0 можно изменить путь к папке по умолчанию в поле Начальная папка.
Перейдите в каталог, находящийся в папке решения, содержащей контейнер теста (как правило, 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
Для выполнения тестов, одновременно назначенных категориям "Nightly" и "ShoppingCart", запустите программу MSTest.exe с помощью параметров /testcontainer и /category:
mstest /testcontainer:MyTestprojectName.dll /category:"Nightly&ShoppingCart"
В окне командной строки отобразятся результаты и сводка.
Примечание
В выражении для выбора категорий тестов можно использовать либо оператор AND, либо оператор OR; использование обоих операторов в одном выражении не допускается.
Дополнительные сведения см. в разделах Практическое руководство. Запуск автоматических тестов из командной строки с помощью программы MSTest и Параметры командной строки программы MSTest.exe.