Befehlszeilenoptionen für VSTest.Console.exeVSTest.Console.exe command-line options

VSTest.Console.exe ist das Befehlszeilentool für die Ausführung von Tests.VSTest.Console.exe is the command-line tool to run tests. Sie können in der Befehlszeile verschiedene Optionen in beliebiger Reihenfolge angeben.You can specify several options in any order on the command line. Diese Optionen werden unter Allgemeine Befehlszeilenoptionen aufgeführt.These options are listed in General command-line options.

Hinweis

Der MSTest-Adapter in Visual Studio funktioniert aus Kompatibilitätsgründen auch im Legacymodus (entspricht dem Ausführen von Tests mit mstest.exe).The MSTest adapter in Visual Studio also works in legacy mode (equivalent to running tests with mstest.exe) for compatibility. Im Legacymodus kann er die TestCaseFilter-Funktion nicht nutzen.In legacy mode, it can't take advantage of the TestCaseFilter feature. Der Adapter kann in den Legacymodus wechseln, wenn eine TESTSETTINGS-Datei angegeben wird, forcelegacymode in einer RUNSETTINGS-Datei auf TRUE festgelegt ist oder Attribute wie HostType verwendet werden.The adapter can switch to legacy mode when a testsettings file is specified, forcelegacymode is set to true in a runsettings file, or by using attributes such as HostType.

Sie müssen VSTest.Console.exe für die Durchführung automatisierter Tests auf einem auf der ARM-Architektur basierenden Computer verwenden.To run automated tests on an ARM architecture-based machine, you must use VSTest.Console.exe.

Öffnen Sie eine Developer-Eingabeaufforderung, um das Befehlszeilentool zu verwenden. Sie können es aber auch über den Pfad %Program Files(x86)%\Microsoft Visual Studio\<version>\<edition>\common7\ide\CommonExtensions\<Platform | Microsoft> öffnen.Open a Developer Command Prompt to use the command-line tool, or you can find the tool in %Program Files(x86)%\Microsoft Visual Studio\<version>\<edition>\common7\ide\CommonExtensions\<Platform | Microsoft>.

Allgemeine BefehlszeilenoptionenGeneral command-line options

In der folgenden Tabelle werden sämtliche Optionen für VSTest.Console.exe mit einer kurzen Beschreibung aufgeführt.The following table lists all the options for VSTest.Console.exe and short descriptions of them. Durch Eingabe von VSTest.Console/? in eine Befehlszeile wird eine ähnliche Zusammenfassung ausgegeben.You can see a similar summary by typing VSTest.Console/? at a command line.

OptionOption BeschreibungDescription
[Testdateinamen][test file names] Führt Tests auf Grundlage der angegebenen Dateien aus.Run tests from the specified files. Trennt mehrere Testdateinamen durch Leerzeichen.Separate multiple test file names with spaces.
Beispiele: mytestproject.dll, mytestproject.dll myothertestproject.exeExamples: mytestproject.dll, mytestproject.dll myothertestproject.exe
/Settings: [Dateiname]/Settings:[file name] Führen Sie Tests mit zusätzlichen Einstellungen wie Datensammlern aus.Run tests with additional settings such as data collectors. Weitere Informationen hierzu finden Sie unter Konfigurieren von Komponententests mithilfe einer RUNSETTINGS-Datei.For more information, see Configure unit tests using a .runsettings file
Ein Beispiel: /Settings:local.runsettingsExample: /Settings:local.runsettings
/Tests: [Testname]/Tests:[test name] Führt Tests aus, die mit den eingegebenen Werten übereinstimmen.Run tests with names that contain the provided values. Um mehrere Werte bereitzustellen, trennen Sie diese durch Kommas.To provide multiple values, separate them by commas.
Ein Beispiel: /Tests:TestMethod1,testMethod2Example: /Tests:TestMethod1,testMethod2
Die Befehlszeilenoption /Tests kann nicht zusammen mit der Befehlszeilenoption /TestCaseFilter verwendet werden.The /Tests command-line option cannot be used with the /TestCaseFilter command-line option.
/Parallel/Parallel Gibt an, dass die Tests parallel ausgeführt werden.Specifies that the tests be executed in parallel. Standardmäßig können alle verfügbaren Kerne auf dem Computer verwendet werden.By default, up to all available cores on the machine can be used. Die Anzahl der zu verwendenden Kerne kann mithilfe einer Einstellungsdatei konfiguriert werden.You can configure the number of cores to use in a settings file.
/Enablecodecoverage/Enablecodecoverage Aktiviert den CodeCoverage-Datendiagnoseadapter im Testlauf.Enables data diagnostic adapter CodeCoverage in the test run.
Die Standardeinstellungen werden verwendet, wenn keine Einstellungsdatei angegeben wurde.Default settings are used if not specified using settings file.
/InIsolation/InIsolation Führt die Tests in einem isolierten Prozess aus.Runs the tests in an isolated process.
Durch diese Isolation ist die Wahrscheinlichkeit, dass der vstest.console.exe-Prozess bei Testfehlern beendet wird, weniger hoch, die Tests werden jedoch möglicherweise langsamer ausgeführt.This isolation makes the vstest.console.exe process less likely to be stopped on an error in the tests, but tests might run slower.
/UseVsixExtensions/UseVsixExtensions Durch diese Option werden in dem vstest.console.exe-Prozess die VSIX-Erweiterungen verwendet oder übersprungen, die im Testlauf (ggf.) installiert wurden.This option makes the vstest.console.exe process use or skip the VSIX extensions installed (if any) in the test run.
Diese Option ist veraltet.This option is deprecated. Ab der nächsten Hauptversion von Visual Studio ist diese Option möglicherweise nicht mehr verfügbar.Starting from the next major release of Visual Studio this option may be removed. Fahren Sie mit der Verarbeitung der Erweiterungen fort, die in Form eines NuGet-Pakets verfügbar gemacht wurden.Move to consuming extensions made available as a NuGet package.
Ein Beispiel: /UseVsixExtensions:trueExample: /UseVsixExtensions:true
/TestAdapterPath:[Pfad]/TestAdapterPath:[path] Erzwingt, dass der vstest.console.exe-Prozess im Testlauf (ggf.) benutzerdefinierte Testadapter aus einem angegebenen Pfad verwendet.Forces the vstest.console.exe process to use custom test adapters from a specified path (if any) in the test run.
Ein Beispiel: /TestAdapterPath:[pathToCustomAdapters]Example: /TestAdapterPath:[pathToCustomAdapters]
/Platform:[Plattformtyp]/Platform:[platform type] Zielplattformarchitektur für die Testausführung.Target platform architecture to be used for test execution.
Gültige Werte sind x86, x64 und ARM.Valid values are x86, x64, and ARM.
/Framework: [Frameworkversion]/Framework: [framework version] .NET-Zielversion, die für die Testausführung verwendet werden soll.Target .NET version to be used for test execution.
Beispielwerte: Framework35, Framework40, Framework45, FrameworkUap10, .NETCoreApp,Version=v1.1.Example values are Framework35, Framework40, Framework45, FrameworkUap10, .NETCoreApp,Version=v1.1.
„TargetFrameworkAttribute“ wird verwendet, um diese Option automatisch in Ihrer Assembly zu ermitteln. Wenn das Attribut nicht vorhanden ist, lautet der Standardwert Framework40.TargetFrameworkAttribute is used to automatically detect this option from your assembly, and defaults to Framework40 when the attribute is not present. Diese Option muss explizit angegeben werden, wenn TargetFrameworkAttribute aus Ihren .NET Core-Assemblys entfernt wird.You must specify this option explicitly if you remove the TargetFrameworkAttribute from your .NET Core assemblies.
Wenn als Zielframework Framework35 angegeben ist, werden die Tests in CLR 4.0 im „Kompatibilitätsmodus“ ausgeführt.If the target framework is specified as Framework35, the tests run in CLR 4.0 "compatibility mode".
Ein Beispiel: /Framework:framework40Example: /Framework:framework40
/TestCaseFilter:[Ausdruck]/TestCaseFilter:[expression] Führt Tests aus, die mit dem angegebenen Ausdruck übereinstimmen.Run tests that match the given expression.
<Expression> ist vom Format <property>=<value>[|<Expression>].<Expression> is of the format <property>=<value>[|<Expression>].
Ein Beispiel: /TestCaseFilter:"Priority=1"Example: /TestCaseFilter:"Priority=1"
Ein Beispiel: /TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName"Example: /TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName"
Die Befehlszeilenoption /TestsCaseFilter kann nicht zusammen mit der Befehlszeilenoption /Tests verwendet werden.The /TestCaseFilter command-line option cannot be used with the /Tests command-line option.
Informationen zum Erstellen und Verwenden von Ausdrücken finden Sie unter TestCase-Filter.For information about creating and using expressions, see TestCase filter.
/?/? Zeigt Nutzungsinformationen an.Displays usage information.
/Logger:[uri/friendlyname]/Logger:[uri/friendlyname] Geben Sie eine Protokollierung für die Testergebnisse an.Specify a logger for test results. Geben Sie den Parameter mehrmals an, um mehrere Protokollierungen zu ermöglichen.Specify the parameter multiple times to enable multiple loggers.
Beispiel: Wenn die Ergebnisse in einer TRX-Datei (Visual Studio Text Results) protokolliert werden sollen, geben Sie Folgendes an:Example: To log results into a Visual Studio Test Results File (TRX), use
/Logger: TRX/Logger:trx
[;LogFileName=<Defaults to unique file name>][;LogFileName=<Defaults to unique file name>]
/ListTests:[Dateiname]/ListTests:[file name] Listet gefundene Tests aus dem angegebenen Testcontainer auf.Lists discovered tests from the given test container.
/ListDiscoverers/ListDiscoverers Listet alle installierten Test-Discoverer auf.Lists installed test discoverers.
/ListExecutors/ListExecutors Listet alle installierten Test-Executors auf.Lists installed test executors.
/ListLoggers/ListLoggers Listet alle installierten Testprotokollierungen auf.Lists installed test loggers.
/ListSettingsProviders/ListSettingsProviders Listet alle installierten Testeinstellungsanbieter auf.Lists installed test settings providers.
/Blame/Blame Führt die Tests im blame-Modus aus.Runs the tests in blame mode. Diese Option hilft beim Isolieren von fehlerhaften Tests, die den Absturz des Testhosts verursachen.This option is helpful in isolating problematic tests that cause the test host to crash. Wenn ein Absturz erkannt wird, wird in TestResults/<Guid>/<Guid>_Sequence.xml eine Sequenzdatei erstellt, die die Reihenfolge der Tests erfasst, die vor dem Absturz ausgeführt wurden.When a crash is detected, it creates a sequence file in TestResults/<Guid>/<Guid>_Sequence.xml that captures the order of tests that were run before the crash. Weitere Informationen finden Sie unter Datensammlung mit /Blame.For more information, see Blame data collector.
/Diag:[Dateiname]/Diag:[file name] Schreibt Protokolle zur Diagnoseablaufverfolgung für die angegebene Datei.Writes diagnostic trace logs to the specified file.
/ResultsDirectory:[path]/ResultsDirectory:[path] Das Verzeichnis mit den Testergebnissen wird am angegebenen Pfad erstellt, falls es noch nicht vorhanden ist.Test results directory will be created in specified path if not exists.
Ein Beispiel: /ResultsDirectory:<pathToResultsDirectory>Example: /ResultsDirectory:<pathToResultsDirectory>
/ParentProcessId:[parentProcessId]/ParentProcessId:[parentProcessId] Prozess-ID des übergeordneten Prozesses, der für den Start des aktuellen Prozesses verantwortlich ist.Process ID of the Parent Process responsible for launching current process.
/Port:[port]/Port:[port] Der Port für die Socketverbindung und den Empfang der Ereignismeldungen.The Port for socket connection and receiving the event messages.
/Collect:[dataCollector friendlyName]/Collect:[dataCollector friendlyName] Aktiviert den Datensammler für den Testlauf.Enables data collector for the test run. Weitere Informationen.More information.

Tipp

Bei den Optionen und Werten muss die Groß-/Kleinschreibung nicht beachtet werden.The options and values are not case-sensitive.

BeispieleExamples

Die Syntax für die Ausführung von vstest.console.exe lautet:The syntax for running vstest.console.exe is:

vstest.console.exe [TestFileNames] [Options]

Mit dem folgenden Befehl wird vstest.console.exe für die Bibliothek myTestProject.dll ausgeführt:The following command runs vstest.console.exe for the test library myTestProject.dll:

vstest.console.exe myTestProject.dll

Mit dem folgenden Befehl wird vstest.console.exe mit mehreren Testdateien ausgeführt.The following command runs vstest.console.exe with multiple test files. Trennt Testdateinamen durch Leerzeichen:Separate test file names with spaces:

vstest.console.exe myTestFile.dll myOtherTestFile.dll

Mit dem folgenden Befehl wird vstest.console.exe mit verschiedenen Optionen ausgeführt.The following command runs vstest.console.exe with several options. Die Tests werden in der Datei myTestFile.dll in einem isolierten Prozess ausgeführt. Zudem werden Einstellungen verwendet, die in der Datei Local.RunSettings angegeben sind.It runs the tests in the myTestFile.dll file in an isolated process and uses settings specified in the Local.RunSettings file. Darüber hinaus werden mit dem Befehl nur Tests ausgeführt, die mit „Priorität = 1“ gekennzeichnet sind. Die Ergebnisse werden in einer TRX-Datei protokolliert.Additionally, it only runs tests marked "Priority=1", and logs the results to a .trx file.

vstest.console.exe myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx

Mit dem folgenden Befehl wird vstest.console.exe mit der Option /blame für die Bibliothek myTestProject.dll ausgeführt:The following command runs vstest.console.exe with the /blame option for the test library myTestProject.dll:

vstest.console.exe myTestFile.dll /blame

Wenn ein Testhost abstürzt, wird die Datei sequence.xml generiert.If a test host crash happened, the sequence.xml file is generated. Die Datei enthält die vollqualifizierten Namen der Tests in Reihenfolge ihrer Ausführung bis einschließlich des Tests, der zum Zeitpunkt des Absturzes ausgeführt wurde.The file contains fully qualified names of the tests in their sequence of execution up to and including the specific test that was running at the time of the crash.

Wenn der Testhost nicht abstürzt, wird die Datei sequence.xml nicht generiert.If there is no test host crash, the sequence.xml file will not be generated.

Hier sehen Sie ein Beispiel für die Datei sequence.xml:Example of a generated sequence.xml file:

<?xml version="1.0"?>
<TestSequence>
  <Test Name="TestProject.UnitTest1.TestMethodB" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
  <Test Name="TestProject.UnitTest1.TestMethodA" Source="D:\repos\TestProject\TestProject\bin\Debug\TestProject.dll" />
</TestSequence>