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


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

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

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

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

    Примечание

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

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

Использование атрибута 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 или перенесите его в комментарий.

См. также

Задачи

Практическое руководство. Запуск автоматических тестов из Microsoft Visual Studio

Ссылки

IgnoreAttribute