MSTest.exe (Befehlszeilenoptionen)

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:[file name]

Lädt eine Datei mit Tests.

Beispiel: /testcontainer:tests.dll

Weitere Informationen finden Sie unter /testcontainer.

/testmetadata:[file name]

Lädt eine Datei mit Testmetadaten. Weitere Informationen finden Sie unter /testmetadata.

/testlist:[test list path]

Gibt an, welche der in der Metadatendatei angegebenen Testlisten ausgeführt werden soll. Weitere Informationen finden Sie unter /testlist.

/category:[test category filter]

Geben Sie an, welche Testkategorien ausgeführt werden sollen, und filtern Sie diese. Weitere Informationen finden Sie unter /category.

/test:[test name]

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: [file name]

Verwenden Sie die angegebene Testeinstellungsdatei.

Beispiel: /testsettings:Local.Testsettings

Weitere Informationen finden Sie unter /testsettings.

/runconfig:[file name]

Verwendet die angegebene Testlaufkonfigurationsdatei.

Beispiel: /runconfig:localtestrun.Testrunconfig

Weitere Informationen finden Sie unter /runconfig.

Hinweis

Diese Befehlszeilenoption wird aus Gründen der Kompatibilität mit früheren Versionen von Visual Studio beibehalten.Testlaufkonfigurationen wurden durch Testeinstellungen in Visual Studio Premium ersetzt.

/resultsfile:[file name]

Speichert die Testlaufergebnisse in der angegebenen Datei.

Beispiel: /resultsfile:testResults.trx

Weitere Informationen finden Sie unter /resultsfile.

/detail:[property 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:[server name]

Veröffentlichen Sie Ergebnisse in der Datenbank für die Teamprojektauflistung des angegebenen Servers.

/publishresultsfile:[file name]

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:[team project name]

Geben Sie den Namen des Teamprojekts an, zu dem der Build gehört.

/platform:[platform]

Gibt die Plattform des Builds an, für das die Testergebnisse veröffentlicht werden sollen.

/flavor:[flavor]

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:[file name]

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:[file name]

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 (oder Datei-Explorer) auf eine VSMDI-Datei doppelklicken, öffnet die Datei Visual Studio und den 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:[test list path]

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 der Auswahl sowohl einer Testliste als auch eines oder mehrerer Tests im Fenster des Testlisten-Editors, die anschließend mit Tests durchführen gestartet werden.

/category

/category:[test category filter]

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:[test name]

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 der Auswahl sowohl einer Testliste als auch eines oder mehrerer Tests im Fenster des Testlisten-Editors, die anschließend mit Tests durchführen gestartet werden.

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:[file name]

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:[file name]

Hinweis   Diese Befehlszeilenoption wird aus Gründen der Kompatibilität mit früheren Versionen von Visual Studio beibehalten. 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:[file name]

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:[property 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

duration

outcometext

storage

errormessage

owner

testcategoryid

errorstacktrace

parentexecid

testname

executionid

priority

testtype

groups

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 Ergebnissen von Webleistungs- und Auslastungstests 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 
...

Siehe auch

Konzepte

Ausführen von automatisierten Tests über die Befehlszeile

Weitere Ressourcen

Prüfen von Testergebnissen in Microsoft Test Manager