Как создать модульные тесты, которые запускаются только при указании вручную?

Я помню что-то вроде явного ', а google говорит, что у nunit есть такой атрибут. Использует ли Microsoft.VisualStudio.TestTools.UnitTesting что-то вроде этого?

Ответ 1

Средство MSTest явно не поддерживает этот тип поведения на уровне атрибута. На уровне атрибута вы можете либо включить тест через атрибут TestMethod, либо полностью отключить его с помощью атрибута Ignore. После добавления атрибута Ignore mstest не будет запускать тест до его удаления. Вы не можете переопределить это поведение с помощью пользовательского интерфейса.

Что вы можете сделать, это отключить тест через страницу свойств. Откройте редактор тестовых списков, выберите нужный тест и нажмите F4, чтобы открыть страницу свойств. Установите для свойства Test Enabled значение false. Тест теперь не будет запущен, пока вы не включите его снова через страницу свойств. Это не совсем то, что вы ищете, но, скорее всего, самый близкий эквивалент.

Ответ 2

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

Ответ 3

Я не использовал его, и он выглядит довольно старым (Mar 2008), но я вижу, что TestListGenerator утверждает, что авто -generate Списки тестов на основе атрибутов, которые вы установили в своих тестах. Если это сработает, это обеспечит Категории для MS Test. Хотя это не то же самое, что Explicit, это может позволить вам достичь того, чего вы хотите.