VSTest.Console.exe 命令行选项
VSTest.Console.exe 是用于运行测试的命令行命令。 在 VSTest.Console.exe 命令行上,可以按任意顺序指定多个选项。 这些选项稍后将在本主题中的“常规命令行选项”表中列出。
vstest.console.exe 说明你按照不区分大小写的方式指定这些选项和值。
下表列出了 VSTest.Console.exe 的所有选项以及对应的简短说明。 在命令行上键入 VSTest.Console /? 可以看到类似的摘要。
备注
Visual Studio 2012 中的 MSTest 适配器还在旧模式下工作(等效于使用 mstest.exe 运行测试)以实现兼容性。在旧模式下,它无法利用新的 VS11 功能 TestCaseFilter。在以下情况下,适配器可以切换到旧模式:指定 .testsettings 文件、在 .runsettings 文件中将 forcelegacymode 设置为 true 或使用类似 HostType 这样的特性。
备注
若要在基于 ARM 体系结构的计算机上运行自动测试,你必须使用 VSTest.Console.exe。
常规命令行选项
/Settings:[ 文件名 ] |
使用其他设置(如数据收集器)运行测试。 示例:/Settings:Local.RunSettings |
/Tests:[ 测试名称 ] |
运行具有与提供的值匹配的名称的测试。 若要提供多个值,请使用逗号将这些值分隔。 示例:/Tests:TestMethod1,testMethod2
警告
/Tests 命令行选项不能与 /TestCaseFilter 命令行选项一起使用。
|
/Enablecodecoverage |
在测试运行中启用数据诊断适配器 CodeCoverage。 如果未使用设置文件指定设置,则将使用默认设置。 |
/InIsolation |
在隔离的进程中运行测试。 虽然这使得 vstest.console.exe 进程不太可能在测试出错时停止,但测试的运行速度会较慢。 |
/UseVsixExtensions |
这使得 vstest.console.exe 进程使用或跳过在测试运行中安装的 VSIX 扩展(如果有)。 示例:/UseVsixExtensions:true |
/Platform:[ 平台类型 ] |
将用来执行测试的目标平台体系结构。 有效值为 x86、x64 和 ARM。 |
/Framework: [ Framework 版本 ] |
要用于测试执行的目标 .NET Framework 版本。 有效值为 Framework35、Framework40 和 Framework45。 示例:/Framework:framework40 |
/TestCaseFilter:[ 表达式 ] |
运行与给定表达式匹配的测试。 <Expression> 的格式为 <property>=<value>[|<Expression>]。 示例:/TestCaseFilter:"Priority=1" 示例:/TestCaseFilter:"TestCategory=Nightly|FullyQualifiedName=Namespace.ClassName.MethodName"
警告
/TestCaseFilter 命令行选项不能与 /Tests 命令行选项一起使用。
|
/Logger:[ uri/friendlyname ] |
为测试结果指定一个记录器。 示例:若要将结果记录到 Visual Studio 测试结果文件 (TRX),请使用 /Logger:trx。 示例:若要将测试结果发布到 Team Foundation Server,请使用 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>]
说明
TfsPublisher 记录器需要 Visual Studio 2012 和 [Visual Studio 2012.1] 或更高版本。
|
/ListTests:[ 文件名 ] |
列出给定测试容器中的已发现的测试。 |
/ListDiscoverers |
列出已安装的测试发现器。 |
/ListExecutors |
列出已安装的测试执行器。 |
/ListLoggers |
列出已安装的测试记录器。 |
/ListSettingsProviders |
列出已安装的测试设置提供程序。 |
将 VSTest.Console.exe 用于测试文件
vstest.console.exe 的用法如下:
Vstest.console.exe [TestFileNames] [Options]
下面演示的是从命令行中使用 VSTest.Console.exe 的一个示例:
Vstest.console.exe myTestProject.dll
下面演示的是使用多个测试文件从命令行中使用 VSTest.Console.exe 的一个示例。 此操作通过用空格分隔测试文件名来实现:
Vstest.console.exe myTestFile.dll myOtherTestFile.dll
示例
下面的示例演示某些运行 Vstest.console.exe 的选项的用法。 在此示例中,它将在 myTestFile.dll 文件中运行测试,同时收集在 Local.RunSettings 文件和独立进程中指定的数据。 此外,它将筛选测试用例以基于“优先级 1”运行,并将结果记录到 .trx 文件中。
vstest.console.exe myTestFile.dll /Settings:Local.RunSettings /InIsolation /TestCaseFilter:"Priority=1" /Logger:trx