VSTest.Console.exe Command-Line Options
You can use the VSTest.Console.exe program to run automated unit and coded UI tests from a command line. VSTest.Console.exe is optimized for performance and is used in place of MSTest.exe in Visual Studio 2012.
You can specify several options in any order on the VSTest.Console.exe command line. These options are listed in the General Command Line Options table later in this topic.
The vstest.console.exe interprets these options and values you specify in a case-insensitive manner.
The following table lists all the options for VSTest.Console.exe and short descriptions of them. You can see a similar summary by typing VSTest.Console/? at a command line.
By default, the vstest.console.exe file is located in the <drive>:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow folder. The vstest.console.exe should work by opening the developer command prompt Visual Studio 2012.
Note
The MSTest adapter in Visual Studio 2012 also works in legacy mode (equivalent of running tests with mstest.exe) for compatibility. In legacy mode, it cannot take advantage of new VS11 features TestCaseFilter. Adapter can switch to legacy mode when .testsettings file is specified, forcelegacymode is set to true in .runsettings file or using attributes like HostType.
Note
In order to run automated tests on an ARM architecture based machine, you must use VSTest.Console.exe.
General Command Line Options
/Settings:[file name] |
Run tests with additional settings such as data collectors. Example: /Settings:Local.RunSettings |
/Tests:[test name] |
Run tests with names that match the provided values. To provide multiple values, separate them by commas. Example: /Tests:TestMethod1,testMethod2 Warning The /Tests command line option cannot be used with the /TestCaseFilter command line option. |
/Enablecodecoverage |
Enables data diagnostic adapter CodeCoverage in the test run. Default settings are used if not specified using settings file. |
/InIsolation |
Runs the tests in an isolated process. This makes vstest.console.exe process less likely to be stopped on an error in the tests, but tests might run slower. |
/UseVsixExtensions |
This makes vstest.console.exe process use or skip the VSIX extensions installed (if any) in the test run. Example: /UseVsixExtensions:true |
/TestAdapterPath |
This makes vstest.console.exe process use custom test adapters. Example: /TestAdapterPath:<pathToCustomAdapters> |
/Platform:[platform type] |
Target platform architecture to be used for test execution. Valid values are x86, x64 and ARM. |
/Framework: [framework version] |
Target .NET Framework version to be used for test execution. Valid values are Framework35, Framework40 and Framework45. Example: /Framework:framework40 |
/TestCaseFilter:[expression] |
Run tests that match the given expression. <Expression> is of the format <property>=<value>[|<Expression>]. Example: /TestCaseFilter:"Priority=1" Example: /TestCaseFilter:"TestCategory=Nightly|Name=Namespace.ClassName.MethodName" Warning The /TestCaseFilter command line option cannot be used with the /Tests command line option. For more information, see How to: Group and Run Automated Tests Using Test Categories. |
/Logger:[uri/friendlyname] |
Specify a logger for test results. Example: To log results into a Visual Studio Test Results File (TRX) use /Logger:trx. Example: To publish test results to Team Foundation Server, use TfsPublisher: /logger:TfsPublisher; Collection=<team project url>; BuildName=<build name>; TeamProject=<team project name>; [;Platform=<Defaults to “Any CPU”>] [;Flavor=<Defaults to “Debug”>] [;RunTitle=<title>] Note The TfsPublisher logger requires Visual Studio 2012 with [Visual Studio 2012.1] or later. |
/ListTests:[file name] |
Lists discovered tests from the given test container. |
/ListDiscoverers |
Lists installed test discoverers. |
/ListExecutors |
Lists installed test executors. |
/ListLoggers |
Lists installed test loggers. |
/ListSettingsProviders |
Lists installed test settings providers. |
Using VSTest.Console.exe with test files
The usage for vstest.console.exe is:
Vstest.console.exe [TestFileNames] [Options]
The following shows an example of using VSTest.Console.exe from the command line:
Vstest.console.exe myTestProject.dll
The following shows an example of using VSTest.Console.exe from the command line using multiple test files. This is done by separating test file names with spaces:
Vstest.console.exe myTestFile.dll myOtherTestFile.dll
Example
The following example shows the use of some of the options for running Vstest.console.exe. In this case, it will run the tests in the myTestFile.dll file, while collecting data specified in the Local.RunSettings file and in an isolated process. Additionally, it will filter the test cases to run based in “Priority 1”, and log the results to a .trx file.
vstest.console.exe myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx