Befehlszeilenoptionen für MSTest.exe
Mit dem Befehl MSTest.exe können Sie Tests in einer Befehlszeile ausführen.Dieser Befehl unterstützt mehrere Optionen zum Anpassen des Testlaufs.In den folgenden Abschnitten wird beschrieben, welche Optionen kombiniert werden können und welche Optionen zusammen mit anderen Optionen angegeben werden müssen.Sie können die Optionen in beliebiger Reihenfolge in der MSTest.exe-Befehlszeile angeben.
Die Groß- und Kleinschreibung der angegebenen Optionen und Werte wird von MSTest.exe nicht berücksichtigt.
In der folgenden Tabelle finden Sie eine Übersicht und eine kurze Beschreibung aller Optionen für MSTest.exe.Eine ähnliche Zusammenfassung wird ausgegeben, wenn Sie MSTest/h in einer Befehlszeile eingeben.
Allgemeine Befehlszeilenoptionen
/testcontainer:[Dateiname] |
Lädt eine Datei mit Tests. Beispiel: /testcontainer:tests.dll Weitere Informationen finden Sie unter /testcontainer. |
/testmetadata:[Dateiname] |
Lädt eine Datei mit Testmetadaten.Weitere Informationen finden Sie unter /testmetadata. |
/testlist:[Testlistenpfad] |
Gibt an, welche der in der Metadatendatei angegebenen Testlisten ausgeführt werden soll.Weitere Informationen finden Sie unter /testlist. |
/category:[Testkategoriefilter] |
Geben Sie an, welche Testkategorien ausgeführt werden sollen, und filtern Sie diese.Weitere Informationen finden Sie unter /category. |
/test:[Testname] |
Gibt den Namen des Tests an, der ausgeführt werden soll.Weitere Informationen hierzu finden Sie unter /test. |
/noisolation |
Führen Sie Tests innerhalb des Prozesses MSTest.exe aus.Durch diese Auswahl wird die Testlaufgeschwindigkeit zwar verbessert, gleichzeitig erhöht sich jedoch auch das Risiko für den Prozess MSTest.exe. |
/testsettings: [Dateiname] |
Verwenden Sie die angegebene Testeinstellungsdatei. Beispiel: /testsettings:Local.Testsettings Weitere Informationen finden Sie unter /testsettings. |
/runconfig:[Dateiname] |
Verwendet die angegebene Testlaufkonfigurationsdatei. Beispiel: /runconfig:localtestrun.Testrunconfig Weitere Informationen finden Sie unter /runconfig.
Hinweis
Diese Befehlszeilenoption wird für die Kompatibilität mit früheren Versionen von Visual Studio beibehalten.Testlaufkonfigurationen wurden durch Testeinstellungen in Visual Studio Premium ersetzt.
|
/resultsfile:[Dateiname] |
Speichert die Testlaufergebnisse in der angegebenen Datei. Beispiel: /resultsfile:testResults.trx Weitere Informationen finden Sie unter /resultsfile. |
/detail:[Eigenschafts-ID] |
Gibt den Namen einer Eigenschaft an, deren Werte zusätzlich zum Testergebnis (sofern vorhanden) ausgegeben werden sollen.Weitere Informationen finden Sie unter /detail. |
/help |
Zeigt den Hilfetext zur Syntax von MSTest.exe an (Kurzform: /? oder /h). |
/nologo |
Deaktiviert die Ausgabe des Startbanners und der Copyrightmeldung. |
/usestderr |
Gibt Fehlerinformationen anhand eines Standardfehlers aus. |
Befehlszeilenoptionen zum Veröffentlichen von Testergebnissen
Weitere Informationen zu diesen Optionen finden Sie unter Befehlszeilenoptionen zum Veröffentlichen von Testergebnissen.
/publish:[Servername] |
Veröffentlichen Sie Ergebnisse in der Datenbank für die Teamprojektauflistung des angegebenen Servers. |
/publishresultsfile:[Dateiname] |
Gibt den Namen der zu veröffentlichenden Ergebnisdatei an.Wenn keine Ergebnisdatei angegeben ist, wird die vom aktuellen Durchlauf erstellte Datei verwendet. |
/publishbuild:[Build-ID] |
Veröffentlicht die Testergebnisse mit dieser Build-ID. |
/teamproject:[Teamprojektname] |
Gibt den den Namen des Teamprojekts an, zu dem der Build gehört. |
/platform:[Plattform] |
Gibt die Plattform des Builds an, für das die Testergebnisse veröffentlicht werden sollen. |
/flavor:[Typ] |
Gibt den Typ (Flavor) des Builds an, für das die Testergebnisse veröffentlicht werden sollen. |
Verwenden der MSTest-Optionen
In den folgenden Abschnitten werden viele der Optionen für MSTest.exe ausführlicher beschrieben.Die Optionen, die zum Veröffentlichen von Testergebnissen verwendet wurden, sind hier nicht enthalten.Weitere Informationen über diese Optionen finden Sie unter Befehlszeilenoptionen zum Veröffentlichen von Testergebnissen.
/testcontainer
/testcontainer:[Dateiname]
Der Testcontainer ist eine Datei, die die auszuführenden Tests enthält.Bei Testreihen ist der Testcontainer beispielsweise die Datei .orderedtest, in der die Testreihe definiert wurde.Bei Komponententests ist die Assembly anzugeben, die aus dem Testprojekt mit den Quelldateien für den Komponententest erstellt wurde.
Hinweis |
---|
Bei Komponententests muss die Assembly angegeben werden, die den Testcode enthält, nicht die Assembly, die den Code der zu testenden Anwendung enthält.Wenn Ihre Projektmappe z. B. ein Projekt mit dem Namen BankAccount und ein zugehöriges Testprojekt mit dem Namen BankAccountTest enthält, geben Sie /testcontainer:BankAccountTest.dll an. |
Hinweis |
---|
Da in der Testmetadatendatei ebenfalls Tests aufgelistet sind, die Sie ausführen können, ist die Angabe einer der Optionen /testcontainer und /testmetadata in der Befehlszeile ausreichend.Wenn Sie beide Optionen gleichzeitig angeben, ist die Testspezifikation nicht eindeutig, und es wird ein Fehler ausgegeben. |
/testmetadata
/testmetadata:[Dateiname]
Sie können die /testmetadata-Option verwenden, um Tests in mehreren Testcontainern auszuführen.
Die Testmetadatendatei für Ihre Projektmappe wird erstellt, sobald Sie Testlisten im Fenster Testlisten-Editor erstellen.Die Datei enthält Informationen über alle im Fenster Testlisten-Editor aufgelisteten Tests.In dieser Liste sind alle Tests aus allen Testprojekten in der Projektmappe enthalten.
Bei der Testmetadatendatei handelt es sich um eine XML-Datei, die im Projektmappenordner erstellt wird.Diese Datei wird im Projektmappen-Explorer unter dem Knoten Projektmappenelemente angezeigt.Eine Testmetadatendatei hat die Erweiterung .vsmdi, und sie ist dem Fenster Testlisten-Editor zugeordnet.Das heißt, wenn Sie im Windows-Explorer auf eine VSMDI-Datei doppelklicken (oder im Datei-Explorer), öffnet die Datei Visual Studio und dessen Inhalt.Alle Tests in den Testprojekten einer Projektmappe werden im Fenster Testlisten-Editor angezeigt.
Sie können in der Testmetadatendatei nur Änderungen vornehmen, die im Fenster Testlisten-Editor wiedergegeben werden, z. B. das Erstellen und Löschen von Tests oder das Ändern der Eigenschaften eines Tests.
Hinweis |
---|
Da im Testcontainer ebenfalls Tests aufgelistet sind, die Sie ausführen können, ist die Angabe einer der Optionen /testcontainer und /testmetadata in der Befehlszeile ausreichend.Wenn Sie beide Optionen gleichzeitig angeben, ist die Testspezifikation nicht eindeutig, und es wird ein Fehler ausgegeben. |
Bei Verwendung der /testmetadata-Option wird empfohlen, mit der /test-Option oder der /testlist-Option (auch eine Angabe beider Optionen ist möglich) die auszuführenden Tests anzugeben.
/testlist
/testlist:[Testlistenpfad]
Mit der**/testlist** -Option wird angegeben, welche Testliste aus der Testmetadatendatei ausgeführt werden soll.Wenn Sie Tests aus mehreren Testlisten ausführen möchten, geben Sie die /testlist-Option mehrmals an.Alle Testreihen in der Testliste werden ausgeführt.
Hinweis |
---|
Die /testlist-Option kann nur zusammen mit der /testmetadata-Option verwendet werden. |
Die /testlist-Option und die /test-Option können zusammen verwendet werden.Dies entspricht dem Auswählen einer Testliste und einer oder mehrerer Tests im Fenster Testlisten-Editor und Tests ausführen dann zu auswählen.
/category
/category:[Testkategoriefilter]
Verwenden Sie die /category-Option, um die auszuführende Testkategorie anzugeben.
Hinweis |
---|
Sie müssen die /category-Option mit der /testcontainer-Option verwenden. |
Sie können die /category-Option nur einmal pro Befehlszeile verwenden, jedoch können Sie mit dem Testkategoriefilter mehrere Testkategorien angeben.Der Testkategoriefilter besteht aus einem oder mehreren durch die logischen Operatoren '&', '|', '!' und '&!' getrennten Testkategorienamen.Die logischen Operatoren '&' und '|' können nicht gemeinsam zum Erstellen eines Testkategoriefilters verwendet werden.
Beispiel:
Mit /category:group1 werden Tests in der Testkategorie "group1" ausgeführt.
Mit /category:"group1&group2" werden Tests ausgeführt, die sowohl der Testkategorie "group1" als auch der Testkategorie "group2" angehören. Tests, die nur einer der angegebenen Testkategorien angehören, werden nicht ausgeführt.
Mit /category:"group1|group2" werden Tests ausgeführt, die der Testkategorie "group1" oder der Testkategorie "group2" angehören.Tests, die beiden Testkategorien angehören, werden ebenfalls ausgeführt.
Mit /category:"group1&!group2" werden Tests der Testkategorie "group1" ausgeführt, die nicht der Testkategorie "group2" angehören. Ein Test, der sowohl der Testkategorie "group1" als auch der Testkategorie "group2" angehört, wird nicht ausgeführt.
Hinweis Wenn der Filter aus einer einzelnen Kategorie, z. B. /category:group1, besteht, müssen Sie den Filter nicht in Anführungszeichen einschließen.Wenn der Filter jedoch auf mehrere Kategorien verweist, z. B. /category:"group1&group2", muss der Filter in Anführungszeichen eingeschlossen werden.
/test
/test:[Testname]
Verwenden Sie die /test-Option, um einzelne Tests anzugeben, die ausgeführt werden sollen.Wenn Sie mehrere Tests ausführen möchten, geben Sie die /test-Option mehrmals an.
Hinweis |
---|
Die /test-Option kann entweder mit der /testcontainer-Option oder aber mit der /testmetadata-Option verwendet werden, jedoch nicht mit beiden Optionen zusammen. |
Die /testlist-Option und die /test-Option können zusammen verwendet werden.Dies entspricht dem Auswählen einer Testliste und einer oder mehrerer Tests im Fenster Testlisten-Editor und Tests ausführen dann zu auswählen.
Die mit der /test-Option angegebene Zeichenfolge wird zum Vergleichen der Namen von Tests in einem Testcontainer oder einer Testmetadatendatei verwendet.Das heißt, Sie können mit einem einzigen /test-Wert mehrere Tests angeben.Wenn Sie beispielsweise /test:ittest angeben, werden sowohl der Test mit dem Namen DebitTest als auch der Test mit dem Namen CreditTest ausgewählt, da beide die Teilzeichenfolge 'ittest' enthalten.
Hinweis |
---|
Der mit der /test-Option angegebene Wert wird nicht nur mit dem Namen des Tests, sondern auch mit dem Pfad des Tests (entsprechend der Anzeige im Projektmappen-Explorer) und, bei Komponententests, mit dem vollqualifizierten Namen verglichen. |
Es folgen zwei Verwendungsbeispiele:
Beispiel für einen Komponententest: Die Datei UnitTest1.cs im Projekt TestProject2 enthält einen Komponententest mit dem Namen TestMethod1.Bei Angabe des Werts 'ittest' für die /test-Option stimmt dieser Test ebenfalls überein, da die Zeichenfolge mit dem vollqualifizierten Namen "TestProject2.UnitTest1.TestMethod1" verglichen wird und 'ittest' in 'UnitTest1' enthalten ist.
Beispiel für einen generischen Test: Mit der folgenden Befehlszeile wird der angegebene generische Test ausgeführt und in den Testergebnissen der vollständige Pfad des Tests angezeigt.
mstest /testcontainer:"C:\Documents and Settings\<user name>\My Documents\Visual Studio\Projects\TestProject2\TestProject2\generictest1.generic" /test:testproject32\generic
/noisolation
/noisolation
Verwenden Sie diese Option, um Tests innerhalb des Prozesses MSTest.exe auszuführen.Wenn Sie diese Option verwenden, werden keine weiteren Änderungen an der Testlaufkonfiguration vorgenommen.Der Zweck dieser Option besteht darin, die Testlaufgeschwindigkeit zu verbessern.Gleichzeitig steigt jedoch auch das Risiko für den Gesamttestlauf, da eine vom Testcode ausgelöste unbehandelte Ausnahme zum Absturz des Prozesses MSTest.exe führen würde.
/testsettings
/testsettings:[Dateiname]
Verwenden Sie diese Option, um eine Testeinstellungsdatei anzugeben.Beispiel: /testsettings:local.Testsettings
Sie können eine Testeinstellungsdatei auch auf andere Weise angeben, z. B. mit der /testmetadata-Option.Die Regeln für die Angabe von Testeinstellungsdateien werden im Folgenden beschrieben.
Wenn Sie die /testsettings-Option verwenden, wird die angegebene Datei verwendet, und zwar unabhängig davon, ob zusätzlich die /testmetadata-Option angegeben wurde.
Wenn Sie mit der /testmetadata-Option auf eine Metadatendatei verweisen, in der die aktive Testeinstellungsdatei angegeben ist, wird diese Testeinstellungsdatei verwendet, sofern Sie nicht zusätzlich die /testsettings-Option verwenden.
Wenn Sie die /testsettings-Option nicht verwenden und auch in der Testmetadatendatei keine Testeinstellungsdatei angegeben ist, wird der Test mit der Standardtesteinstellungsdatei ausgeführt.
Hinweis Weitere Informationen zu Testeinstellungsdateien finden Sie unter Erstellen von Testeinstellungen für automatisierte Systemtests mit Microsoft Test Manager.
/runconfig
/runconfig:[Dateiname]
Hinweis diese Befehlszeilenoption wird für die Kompatibilität mit früheren Versionen von Visual Studio verwaltet.Testlaufkonfigurationen wurden durch Testeinstellungen in Visual Studio Premium ersetzt.
Verwenden Sie diese Option zur Angabe einer Testlaufkonfigurationsdatei.Beispiel: /runconfig:localtestrun.Testrunconfig
Sie können eine Testlaufkonfigurationsdatei auch auf andere Weise angeben, z. B. mit der /testmetadata-Option.Die Regeln für die Angabe von Testlaufkonfigurationsdateien werden im Folgenden beschrieben.
Wenn Sie die /runconfig-Option verwenden, wird die angegebene Datei verwendet, und zwar unabhängig davon, ob zusätzlich die /testmetadata-Option angegeben wurde.
Wenn Sie mit der /testmetadata-Option auf eine Metadatendatei verweisen, in der die aktive Testlaufkonfigurationsdatei angegeben ist, wird diese Testlaufkonfigurationsdatei verwendet, sofern Sie nicht zusätzlich die /runconfig-Option verwenden.
Wenn Sie die /runconfig-Option nicht verwenden und auch in der Testmetadatendatei keine Testlaufkonfigurationsdatei angegeben ist, wird der Test mit der Standard-Testlaufkonfigurationsdatei ausgeführt.
/resultsfile
/resultsfile:[Dateiname]
Verwenden Sie diese Option, um die Testergebnisse in der angegebenen Datei zu speichern.Zum Beispiel: /resultsfile:testResults.trx.
/usestderr
/usestderr
Bei Verwendung dieser Option werden die folgenden Informationen, in einen Standardfehler geschrieben:
Tests mit dem Ergebnis "Fehlgeschlagen", "Abgebrochen", "Fehler", "Abgelaufen", "Nicht Ausführbar" oder "Nicht ausgeführt".
Fehler auf Ausführungsebene.
Fehler beim Analysieren der Befehlszeilenargumente.
Testlaufzusammenfassung, wenn der Testlauf ein fehlerhaftes Ergebnis liefert.
Ohne diese Option wird die gesamte Ausgabe an die Standardausgabe gesendet.
/detail
/detail:[Eigenschafts-ID]
Diese Option wird verwendet, um zusätzliche Testfalleigenschaften anzuzeigen, sofern vorhanden.Sie können die /detail-Option mehrmals mit jeweils einer Eigenschafts-ID in einer einzelnen Befehlszeile angeben.Im Folgenden finden Sie eine Auflistung gültiger Eigenschafts-IDs für die /detail-Option:
adapter |
id |
projectrelativepath |
computername |
isautomated |
readonly |
debugtrace |
link |
spoolmessage |
description |
longtext |
stderr |
displaytext |
name |
stdout |
Dauer |
outcometext |
storage |
errormessage |
owner |
testcategoryid |
errorstacktrace |
parentexecid |
testname |
executionid |
priority |
testtype |
Gruppen |
projectname |
traceinfo |
Hinweis |
---|
Welche Eigenschafts-IDs im Einzelfall mit der /detail-Option angegeben werden können, ist abhängig vom jeweiligen Testtyp.Diese Liste kann daher nur einen allgemeinen Überblick liefern.Die Auswahl von Eigenschaften unterscheidet sich insbesondere bei Verwendung benutzerdefinierter Testtypen.Einen Überblick der verfügbaren propertyIDs erhalten Sie, indem Sie die Testergebnisdatei eines bestimmten Testlaufs überprüfen.Weitere Informationen zu Testergebnisdateien finden Sie unter Gewusst wie: Speichern und Öffnen von Testergebnissen in Visual Studio. |
Wenn eine Eigenschaft im angegebenen Testfall verfügbar ist, werden die Eigenschaftsinformationen zur ausgegebenen Ergebniszusammenfassung hinzugefügt.
Beispiel: Die Befehlszeile:
mstest /testcontainer:Errors.dll /detail:testtype
erzeugt die folgende Ausgabe mit zusätzlichen Informationen zum Testtyp:
...
Results Top Level Tests
-------- -----------------
Inconclusive TestProject2.BankAccountTest.CreditTest
[testtype] = Unit Test
...