Befehlszeilenoptionen für MSTest.exe

Aktualisiert: November 2007

Mit dem Befehl MSTest.exe können Sie Tests in einer Befehlszeile ausführen. Der 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.

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

/test:[Testname]

Gibt den Namen des Tests an, der ausgeführt werden soll. Weitere Informationen 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.

/runconfig:[Dateiname]

Verwendet die angegebene Testlaufkonfigurationsdatei.

Ein Beispiel: /runconfig:localtestrun.Testrunconfig

Weitere Informationen finden Sie unter /runconfig.

Hinweis:
Wenn Sie Komponententests für intelligente Geräte ausführen, müssen Sie die Option /runconfig angeben.

/resultsfile:[Dateiname]

Speichert die Testlaufergebnisse in der angegebenen Datei.

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

Befehlszeilenoptionen zum Veröffentlichen von Testergebnissen

Weitere Informationen zu diesen Optionen finden Sie unter Befehlszeilenoptionen zum Veröffentlichen von Testergebnissen.

/publish:[Servername] ]

Veröffentlicht die Ergebnisse im betriebsinternen Speicher 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. Optionen für das Veröffentlichen von Testergebnissen sind in diesen Erläuterungen nicht enthalten. Informationen zu diesen 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.

Da eine Testassembly die Tests für jeweils ein Testprojekt enthält, entspricht die Anzahl der Testcontainer für eine Projektmappe der Anzahl der Testprojekte in dieser Projektmappe.

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.

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 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. Testmetadatendateien haben die Erweiterung .vsmdi und sind dem Fenster Testlisten-Editor zugeordnet: Wenn Sie in Windows Explorer auf eine Datei mit der Erweiterung .vsmdi doppelklicken, wird Visual Studio geöffnet und der Inhalt der Datei angezeigt. Alle Tests in den Testprojekten einer Projektmappe werden im Fenster Testlisten-Editor angezeigt.

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.

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 Testlisten-Editor, die anschließend mit Tests durchführen gestartet 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 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 als Teilzeichenfolge eines Testnamens interpretiert und mit den Namen in einem Testcontainer bzw. in einer Testmetadatendatei verglichen. 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 eigentlichen Testnamen, sondern auch mit dem Pfadnamen der 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 würde dieser Test ausgewählt, 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 anschließend in den Testergebnissen der vollständige Pfad zum Test 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.

/runconfig

/runconfig:[Dateiname]

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

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

Hinweis:

Wenn Sie Komponententests für intelligente Geräte ausführen, müssen Sie die Option /runconfig angeben.

/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. Mit der /unique-Option wird MSTest.exe angewiesen, nur einen einzigen Test auszuführen, dessen Name mit dem Wert übereinstimmt, den Sie mit der /test-Option angeben.

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

nur den Test MethodTest1 aus.

/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 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. Insbesondere unterscheidet sich die Auswahl verfügbarer Eigenschaften, wenn Sie Testtypen verwenden, die nicht in Testtools in Team System enthalten sind. 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: Exportieren von Testergebnissen.

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

Aufgaben

Gewusst wie: Veröffentlichen von Testergebnissen