2017-09-19 3 views
2

Bearbeiten: Dies ist ein Visual Studio 2017 Problem. Wiederholte das gleiche Verfahren mit VS2015 und alle Arbeiten wie in der Vergangenheit.Filtern nach/Kategorie mit MStest.exe und VS2017

Ich habe ein einfaches Komponententestprojekt in VS2017 mit zwei Komponententests erstellt. Diese Tests werden mit der Kategorie „Ores“, wie shwon unten markiert:

[TestClass] 
public class Copper 
{ 
    [TestCategory("Ores"), TestMethod] 
    public void CheckCopper() 
    { 
     DataMiner locMiner = new DataMiner(); 

     string result = locMiner.GetCopper(); 

     Assert.AreEqual("Copper", result); 
    } 
} 

Jetzt versuche ich, diesen Test mit MSTest.exe mit dem/Kategoriefilter über Kommandozeile ausgeführt werden. Der komplette Aufruf ist: mstest /testcontainer:TestSystem.dll/Kategorie: Ores

MSTest.exe durch die Variable Pfad verbunden: „C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE; "

Ich bekomme die Meldung "Kein Test zur Ausführung". Es spielt keine Rolle, ob ich die Kategorie "Ores" oder Ores schreibe. Ohne den/category-Filter werden mit test wie geplant ausgeführt.

Fehltes Testrou mit Kategorie. enter image description here Keine Probleme ohne Kategorie. enter image description here

Antwort

1

Mit der freundlichen Hilfe des MS-Personals fand ich eine Lösung.

Zuerst eine Klarstellung: mstest.exe ist nicht zur Unterstützung VS2017 erstellt MSTestV2 Assemblys. Vielleicht i did not tief genug graben oder es ist schlecht dokumentiert ...

Wie auch immer, vstest.console.exe der richtige Weg ist kommandozeilenbasierten Unit-Tests mit dieser Konfiguration auszuführen.

Aber es gibt eine andere Falle: Es gibt 2 Versionen der vstest.console.exe mit VS2017 installiert.

Die veraltet, nicht eine Arbeits: "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ Extensions \ TestPlatform \ vstest.console.exe", die Version 15.0

.0.0

Die Version zu verwenden: "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.console.exe", das ist Version 15.0.26720.2

Abschließend ein Beispiel einer funktionierenden Ausführung einer VS2017 MSTestV2 erstellten Testbaugruppe mit f Filter aktiv: vstest.console.exe works fine