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


Практическое руководство. Отключение и включение тестов

Обновлен: Ноябрь 2007

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

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

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

    ms182457.alert_note(ru-ru,VS.90).gifПримечание.

    Не забудьте заново включить тест после исправления ошибки.

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

Использование атрибута Ignore в модульных тестах

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

  • Согласно описанию в разделах Отключение тестов и Включение тестов можно использовать редактор списков тестов для отключения и включения тестов любого типа. Атрибут Ignore, напротив, можно применять только к тестовому методу. Это означает, что атрибут Ignore применяется только к модульным тестам.

  • Флаг для включения и отключения тестов хранится в файле метаданных теста.

  • Атрибут Ignore для модульного теста хранится в файле исходного кода модульного теста вместе с другими атрибутами и исходным кодом теста. Это означает, что если отключить модульный тест в редакторе списков тестов, а потом запустить тест с помощью программы MSTest.exe в командной строке, тест будет запущен. Если же пометить тест атрибутом Ignore, скомпилировать сборку, а потом запустить тест с помощью программы MSTest.exe, то тест не будет запущен. Тест не запускается, поскольку атрибут Ignore стал частью теста.

Эти два подхода используются в различных ситуациях.

  • Атрибут Ignore. Предположим, что вы являетесь разработчиком, создающим и рабочий код, и тестовый код. Вы применяете большой объем изменений и знаете, что один из модульных тестов в течение какого-то времени будет неработоспособен. Поэтому при возврате теста вы помечаете его атрибутом Ignore, чтобы указать, что этот тест и не должен работать.

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

Отключение тестов

Чтобы отключить тесты

  • Чтобы отключить один тест, в редакторе списков тестов щелкните включенный тест правой кнопкой мыши и выберите Отключить. Чтобы отключить несколько тестов, выберите включенные тесты, которые нужно отключить, щелкая строки тестов при нажатых клавишах CTRL или SHIFT. Затем щелкните правой кнопкой мыши выделенные строки и выберите Отключить.

    либо

    Выберите тест в редакторе списков тестов или в окне представления тестов и нажмите клавишу F4 для отображения окна свойств. Затем присвойте свойству Включен для тестирования значение "False".

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

Чтобы включить тесты

  • Чтобы включить один тест, в редакторе списков тестов щелкните отключенный тест правой кнопкой мыши и выберите Включить. Чтобы включить несколько тестов, выберите отключенные тесты, которые нужно включить, щелкая строки тестов при нажатых клавишах CTRL или SHIFT. Затем щелкните правой кнопкой мыши выделенные строки и выберите Включить.

    либо

    Выберите тест в редакторе списков тестов или в окне представления тестов и нажмите клавишу F4 для отображения окна свойств. Затем присвойте свойству Включен для тестирования значение "True".

Использование атрибута Ignore

Чтобы использовать атрибут Ignore

  1. Откройте модульный тест в редакторе исходного кода. Для этого дважды щелкните модульный тест в редакторе списков тестов.

    Откроется файл исходного кода, содержащий модульный тест.

  2. Добавьте в модульный тест атрибут IgnoreAttribute.

    Тест отключен. В окне свойств свойству Включен для тестирования будет автоматически присвоено значение "False". Дополнительные сведения о данной области см. в предыдущем разделе "Использование атрибута Ignore в модульных тестах".

    Чтобы заново включить тест, удалите атрибут Ignore или перенесите его в комментарий.

См. также

Задачи

Практическое руководство. Выполнение выбранных тестов

Ссылки

IgnoreAttribute