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.