2016-07-01 18 views
0

Ich verwende SpecFlow, um Gherkin für automatisierte UI-Tests zu schreiben. Wir haben mehrere Tags (@smoke, @on, @off, etc.).Verwenden von vstest.console.exe TestCategory mit equals und nicht gleich

Test A hat Tags @smoke Test B-Tags hat @smoke

Diese @off übersetzt Testkategorien vstest und enthalten nicht das @ -Symbol.

Ich möchte Test A laufen, aber nicht testen B.

Dies ist, was nicht funktioniert. Es führt alle @ Smoke-Tests aus.

Vstest.console.exe mytest.dll/TestCaseFilter: "Testkategorie = rauchen & Testkategorie = off!"

Irgendwelche Ideen?

+0

Welchen Test Runner benutzen Sie? NUnit, MSTest, XUnit, SpecFlow + Runner? –

+0

specflow.msstest. Ich führe gerade vstest.console.exe aus, während ich Visual Studio 2013 verwende. –

Antwort

2

Ich hatte zwei Probleme. 1) Ich habe den Test mit Thought Go Ausführung, die mit den Anführungszeichen seltsame Dinge tat, bevor der Befehl

2) Ausführung I benötigt, um den gesamten Zustand mit Klammern als solche zu umgeben:

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

+0

Klammer war es! Hier ist, was ich in die TFS Test Filter-Kriterien schreiben musste: '(TestCategory! = Nightly & TestCategory! = Ignoriere)'. Mein Ziel war es, alle Unit-Tests außer denen in den oben genannten Kategorien durchzuführen. Grundsätzlich wollte ich alle Tests durchführen, denen ich keine Kategorie zugeordnet habe. –