Исключить тесты MSTest из определенных классов в шагах TeamCity
Поскольку вы не можете установить тестовую категорию для тестового класса с помощью MSTest, я решил сделать что-то похожее в названии, постфиксируя тестовые классы с помощью ...IntegrationTests
всякий раз, когда они содержат медленные тесты.
В Visual Studio Test Explorer я могу исключить эти тесты, используя:
-class:IntegrationTests
Однако в TeamCity эта опция не работает. Я использую тестовую версию VSTest 2017 в последней версии TeamCity. Тем не менее, кажется, он имеет только TestCaseFilter
вариант, который, кажется, отсутствует возможность исключить тесты в определенном классе?
Я использовал эту документацию VSTest.ConsoleRunner и этот пост оTestCaseFilter
прийти к такому выводу. Я также прочитал документацию файла runsettings, чтобы увидеть, содержит ли он какую-либо информацию, но не повезло.
Моя цель - сделать 1 шаг TeamCity, который запускает все тесты в классах, которые не помечены как медленные, и еще один шаг с тестами в классах, которые отмечены.
Единственный обходной путь, который я сейчас вижу, состоит в том, чтобы разделить все мои тестовые проекты на два проекта и переместить эти интеграционные тестовые классы в отдельные сборки. Я бы предпочел не делать этого.
Итог: как исключить тесты в классах, где имя класса содержит конкретную строку?
1 ответ
Атрибут TestCategory может использоваться на уровне класса / сборки. Смотрите здесь: https://blogs.msdn.microsoft.com/visualstudioalm/2017/02/25/mstest-v2-now-and-ahead/.
Также, пожалуйста, смотрите ту же ветку в твиттере здесь: https://twitter.com/pvlakshm/status/844905609409564672