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.

HinweisHinweis
Diese Befehlszeilenoption wird für die Kompatibilität mit früheren Versionen von Microsoft Visual Studio 2010 beibehalten.Testlaufkonfigurationen wurden durch Testeinstellungen in Visual Studio 2010 Ultimate ersetzt.

/resultsfile:[Dateiname]

Speichert die Testlaufergebnisse in der angegebenen Datei.

Beispiel: /resultsfile:testResults.trx

Weitere Informationen finden Sie unter /resultsfile.

/unique

Führt den Test nur aus, wenn eine eindeutige Übereinstimmung mit einem angegebenen /test gefunden wird. Weitere Informationen finden Sie unter /unique.

/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.

Tipp

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.

Tipp

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, wird die Datei in Visual Studio geöffnet. 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.

Tipp

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.

Tipp

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 Testlisten-Editor, die anschließend mit Tests durchführen gestartet werden.

/category

/category:[Testkategoriefilter]

Verwenden Sie die /category-Option, um die auszuführende Testkategorie anzugeben.

Tipp

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.

    Tipp

    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.

Tipp

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 Testlisten-Editor, 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.

Tipp

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.

    Tipp

    Weitere Informationen zu Testeinstellungsdateien finden Sie unter Erstellen von Einstellungen für automatisierte Tests als Teil eines Testplans.

/runconfig

/runconfig:[Dateiname]

Hinweis   Diese Befehlszeilenoption wird für die Kompatibilität mit früheren Versionen von Microsoft Visual Studio 2010 beibehalten. Testlaufkonfigurationen wurden durch Testeinstellungen in Visual Studio 2010 Ultimate 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.

/unique

/unique

Verwenden Sie die /unique-Option zusammen mit der /test-Option. Die /unique-Option weist "MSTest.exe" an, einen nur Test auszuführen, wenn eine eindeutige Übereinstimmung mit dem mit der /test-Option angegebenen Wert vorliegt.

Ein Beispiel: Der Testcontainer MyTestProject enthält Tests mit den Namen MethodTest1 und MethodTest10.

Die Befehlszeile:

mstest /testcontainer:testproject2.dll /test:MethodTest1

führt beide Tests (MethodTest1 und MethodTest10) aus, da 'MethodTest1' eine Teilzeichenfolge von 'MethodTest10' ist.

Im Gegensatz dazu führt die Befehlszeile:

mstest /testcontainer:testproject2.dll /test:MethodTest1 /unique

gibt einen Fehler aus, wenn keine eindeutige Übereinstimmung für diesen Testnamen vorhanden ist. Sie können den Testnamen mit der in der Ansicht "Eigenschaften" aufgeführten ID für den Test eindeutig identifizieren.

/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

duration

outcometext

storage

errormessage

owner

testcategoryid

errorstacktrace

parentexecid

testname

executionid

priority

testtype

groups

projectname

traceinfo

Tipp

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
...

Siehe auch

Konzepte

Überprüfen von Testergebnissen

Ausführen von automatisierten Tests über die Befehlszeile