2016-07-01 6 views
0

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

тест A имеет метки @smoke Test B имеют метки @smoke @off

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

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

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

Vstest.console.exe mytest.dll/TestCaseFilter: "TestCategory = курить & TestCategory = прочь!"

Любые идеи?

+0

Какой тестовый бегун вы используете? NUnit, MSTest, XUnit, SpecFlow + Runner? –

+0

specflow.mstest. Я на самом деле выполняю vstest.console.exe, поскольку я использую визуальную студию 2013. –

ответ

2

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

2) Мне нужно, чтобы окружить все условия с скобкой, как например:

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

+0

Скобка была она! Вот что мне пришлось включить в критерии тестового фильтра TFS: '(TestCategory! = Nightly & TestCategory! = Ignore)'. Моя цель состояла в том, чтобы запускать все модульные тесты, кроме тех, которые указаны в вышеуказанных категориях. В основном я хотел запустить все тесты, которые я не присвоил категории. –