Использование vstest.console.exe TestCategory с равными и не равными

Я использую SpecFlow для написания Gherkin для автоматизированных тестов пользовательского интерфейса. У нас есть несколько тегов (@smoke, @on, @off и т. д.).

Тест A имеет теги @smoke Тест B имеет теги @smoke @off

Они переводятся в категории тестов vstest и не включают символ @.

Я хочу запустить тест A, но не тест B.

Это то, что не работает. Он запускает все тесты @smoke.

Vstest.console.exe mytest.dll /TestCaseFilter:"TestCategory=smoke&TestCategory!=off"

Любые идеи?


person Scope Creep    schedule 01.07.2016    source источник
comment
Какой Test Runner вы используете? NUnit, MSTest, XUnit, SpecFlow+Runner?   -  person Andreas Willich    schedule 01.07.2016
comment
спецфлоу.mstest. На самом деле я запускаю vstest.console.exe, так как использую Visual Studio 2013.   -  person Scope Creep    schedule 01.07.2016


Ответы (1)


У меня было две проблемы. 1) Я выполнял тест с Thoughtworks Go, который делал странные вещи с кавычками перед выполнением команды.

2) Мне нужно было заключить все условие в круглые скобки как таковые:

Vstest.console.exe mytest.dll /TestCaseFilter:"(TestCategory=smoke&TestCategory!=off)"

person Scope Creep    schedule 01.07.2016
comment
Скобки были это! Вот что я должен был указать в критериях тестового фильтра TFS: (TestCategory!=Nightly&TestCategory!=Ignore). Моя цель состояла в том, чтобы запустить все модульные тесты, кроме тех, что относятся к вышеуказанным категориям. По сути, я хотел запустить все тесты, которым не присвоил категорию. - person goku_da_master; 05.03.2018
comment
Я не мог выполнить с категорией, но без категории все работает нормально. Проблема в том, что файл не найден - person Ashok kumar Ganesan; 19.11.2019