Visual Studio 2012 vstest: запускать тесты, которые не относятся к категории

Можно ли запустить все тесты, которые не принадлежат категории из командной строки? Из документации я знаю, что могу запустить все тесты, которые являются членами категории, и выполнить что-то вроде:

vstest.console.exe myTestProject.dll / TestCaseFilter: TestCategory = "Ночная"

То, что я хочу сделать, это назначить несколько методов тестирования категории теста, а затем запустить эти тесты за один прогон. Затем я хочу запустить остальные тесты в отдельном тестовом прогоне (именно в этом моя текущая проблема). У меня более 1000 тестов, поэтому я надеюсь, что мне не придется выполнять поиск и замену всех атрибутов TestMethod, чтобы добавить "базовую" категорию. Я также не хочу разделять тесты на разные проекты.

Благодарю.

1 ответ

Решение

Ну, у меня есть значок для этого вопроса, так что, думаю, никто не заинтересован. В случае, если кто-то сталкивается с той же проблемой, я обнаружил, что могу просто использовать оператор!=. Документация Microsoft очень скудная, но я нашел нужную мне информацию в блоге MSDN "Выполнение выборочных юнит-тестов в VS 2012 RC с использованием TestCaseFilter".

Итак, ответ:

vstest.console.exe myTestProject.dll /TestCaseFilter:TestCategory!="Nightly"

Обновление: как указано Робом Босом ниже. Документы теперь имеют:

dotnet test --filter FullyQualifiedName!=MSTestNamespace.UnitTestClass1.TestMethod1

Запускает все тесты, кроме MSTestNamespace.UnitTestClass1.TestMethod1

Источник Запуск выборочных юнит-тестов на MSDN.

Другие вопросы по тегам