dotnet vstestdotnet vstest

本文内容

本文适用于:✓ .NET Core 1.x SDK ✓ .NET Core 2.x SDK

nameName

dotnet-vstest - 从指定文件运行测试。

摘要Synopsis

  1. dotnet vstest [<TEST_FILE_NAMES>] [--Settings|/Settings] [--Tests|/Tests] [--TestAdapterPath|/TestAdapterPath]
  2. [--Platform|/Platform] [--Framework|/Framework] [--Parallel|/Parallel] [--TestCaseFilter|/TestCaseFilter] [--logger|/logger]
  3. [-lt|--ListTests|/lt|/ListTests] [--ParentProcessId|/ParentProcessId] [--Port|/Port] [--Diag|/Diag] [--Blame|/Blame] [--InIsolation|/InIsolation]
  4. [[--] <args>...]] [-?|--Help|/?|/Help]
  1. dotnet vstest [<TEST_FILE_NAMES>] [--Settings|/Settings] [--Tests|/Tests] [--TestAdapterPath|/TestAdapterPath]
  2. [--Platform|/Platform] [--Framework|/Framework] [--Parallel|/Parallel] [--TestCaseFilter|/TestCaseFilter] [--logger|/logger]
  3. [-lt|--ListTests|/lt|/ListTests] [--ParentProcessId|/ParentProcessId] [--Port|/Port] [--Diag|/Diag] [[--] <args>...]] [-?|--Help|/?|/Help]
  1. dotnet vstest [<TEST_FILE_NAMES>] [--Settings|/Settings] [--Tests|/Tests] [--TestAdapterPath|/TestAdapterPath]
  2. [--Platform|/Platform] [--Framework|/Framework] [--Parallel|/Parallel] [--TestCaseFilter|/TestCaseFilter] [--logger|/logger]
  3. [-lt|--ListTests|/lt|/ListTests] [--ParentProcessId|/ParentProcessId] [--Port|/Port] [--Diag|/Diag] [[--] <args>...]] [-?|--Help|/?|/Help]

说明Description

dotnet-vstest 命令运行 VSTest.Console 命令行应用程序以运行自动化单元测试。

自变量Arguments

TEST_FILE_NAMES

从指定的程序集运行测试。用空格分隔多个测试程序集名称。

选项Options

—Settings|/Settings:<Settings File>

运行测试时要使用的设置。

—Tests|/Tests:<Test Names>

运行具有与提供的值匹配的名称的测试。用逗号分隔多个值。

—TestAdapterPath|/TestAdapterPath

在测试运行中使用来自给定路径(如果有)的自定义测试适配器。

—Platform|/Platform:<Platform type>

用于执行测试的目标平台体系结构。有效值为 x86x64ARM

—Framework|/Framework:<Framework Version>

用于测试执行的目标 .NET Framework 版本。有效值的示例为 .NETFramework,Version=v4.6.NETCoreApp,Version=v1.0其他支持的值为 Framework40Framework45FrameworkCore10FrameworkUap10

—Parallel|/Parallel

并行执行测试。默认情况下,计算机上的所有可用内核都可供使用。通过在 runsettings 文件的 RunConfiguration 节点下设置 MaxCpuCount 属性来指定显式内核数。

—TestCaseFilter|/TestCaseFilter:<Expression>

运行与给定表达式匹配的测试。<Expression> 的格式为 <property>Operator<value>[|&<Expression>],其中运算符是 =!=~ 之一。运算符 ~ 具有“包含”语义,并适用于字符串属性,如 DisplayName括号 () 用于组的子表达式。

-?|—Help|/?|/Help

打印出有关命令的简短帮助。

—logger|/logger:<Logger Uri/FriendlyName>

为测试结果指定一个记录器。

  • 若要将测试结果发布到 Team Foundation Server,请使用 TfsPublisher 记录器提供程序:
  1. /logger:TfsPublisher;
  2. Collection=<team project collection url>;
  3. BuildName=<build name>;
  4. TeamProject=<team project name>
  5. [;Platform=<Defaults to "Any CPU">]
  6. [;Flavor=<Defaults to "Debug">]
  7. [;RunTitle=<title>]
  • 若要将结果记录到 Visual Studio 测试结果文件 (TRX),请使用 trx 记录器提供程序。此开关使用给定的日志文件名在测试结果目录中创建一个文件。如果未提供 LogFileName,将创建唯一的文件名以保留测试结果。
  1. /logger:trx [;LogFileName=<Defaults to unique file name>]

-lt|—ListTests|/lt|/ListTests:<File Name>

列出给定测试容器中所有已发现的测试。

—ParentProcessId|/ParentProcessId:<ParentProcessId>

父进程的进程 ID 负责启动当前进程。

—Port|/Port:<Port>

指定套接字连接和接收事件消息的端口。

—Diag|/Diag:<Path to log file>

为测试平台启用详细日志。日志被写入到所提供的文件。

—Blame|/Blame

在意见模式中运行测试。此选项有助于隔离导致测试主机出现故障的有问题的测试。它会在当前目录中创建一个输出文件 (Sequence.xml),其中捕获了故障前的测试执行顺序 。

—InIsolation|/InIsolation

在隔离的进程中运行测试。虽然这使得 vstest.console.exe 进程不太可能在测试出错时停止,但测试的运行速度会较慢 。

@<file>

有关更多选项,请阅读响应文件。

args

指定要传递到适配器的额外参数。参数被指定为 <n>=<v> 格式的名称值对,其中 <n> 是参数名称,<v> 是参数值。使用空格分隔多个参数。

—Settings|/Settings:<Settings File>

运行测试时要使用的设置。

—Tests|/Tests:<Test Names>

运行具有与提供的值匹配的名称的测试。用逗号分隔多个值。

—TestAdapterPath|/TestAdapterPath

在测试运行中使用来自给定路径(如果有)的自定义测试适配器。

—Platform|/Platform:<Platform type>

用于执行测试的目标平台体系结构。有效值为 x86x64ARM

—Framework|/Framework:<Framework Version>

用于测试执行的目标 .NET Framework 版本。有效值的示例为 .NETFramework,Version=v4.6.NETCoreApp,Version=v1.0其他支持的值为 Framework40Framework45FrameworkCore10

—Parallel|/Parallel

并行执行测试。默认情况下,计算机上的所有可用内核都可供使用。通过在 runsettings 文件的 RunConfiguration 节点下设置 MaxCpuCount 属性来指定显式内核数。

—TestCaseFilter|/TestCaseFilter:<Expression>

运行与给定表达式匹配的测试。<Expression> 的格式为 <property>Operator<value>[|&<Expression>],其中运算符是 =!=~ 之一。运算符 ~ 具有“包含”语义,并适用于字符串属性,如 DisplayName括号 () 用于组的子表达式。

-?|—Help|/?|/Help

打印出有关命令的简短帮助。

—logger|/logger:<Logger Uri/FriendlyName>

为测试结果指定一个记录器。

  • 若要将测试结果发布到 Team Foundation Server,请使用 TfsPublisher 记录器提供程序:
  1. /logger:TfsPublisher;
  2. Collection=<team project collection url>;
  3. BuildName=<build name>;
  4. TeamProject=<team project name>
  5. [;Platform=<Defaults to "Any CPU">]
  6. [;Flavor=<Defaults to "Debug">]
  7. [;RunTitle=<title>]
  • 若要将结果记录到 Visual Studio 测试结果文件 (TRX),请使用 trx 记录器提供程序。此开关使用给定的日志文件名在测试结果目录中创建一个文件。如果未提供 LogFileName,将创建唯一的文件名以保留测试结果。
  1. /logger:trx [;LogFileName=<Defaults to unique file name>]

-lt|—ListTests|/lt|/ListTests:<File Name>

列出给定测试容器中所有已发现的测试。

—ParentProcessId|/ParentProcessId:<ParentProcessId>

父进程的进程 ID 负责启动当前进程。

—Port|/Port:<Port>

指定套接字连接和接收事件消息的端口。

—Diag|/Diag:<Path to log file>

为测试平台启用详细日志。日志被写入到所提供的文件。

args

指定要传递到适配器的额外参数。参数被指定为 <n>=<v> 格式的名称值对,其中 <n> 是参数名称,<v> 是参数值。使用空格分隔多个参数。

—Settings|/Settings:<Settings File>

运行测试时要使用的设置。

—Tests|/Tests:<Test Names>

运行具有与提供的值匹配的名称的测试。用逗号分隔多个值。

—TestAdapterPath|/TestAdapterPath

在测试运行中使用来自给定路径(如果有)的自定义测试适配器。

—Platform|/Platform:<Platform type>

用于执行测试的目标平台体系结构。有效值为 x86x64ARM

—Framework|/Framework:<Framework Version>

用于测试执行的目标 .NET Framework 版本。有效值的示例为 .NETFramework,Version=v4.6.NETCoreApp,Version=v1.0其他支持的值为 Framework40Framework45FrameworkCore10

—Parallel|/Parallel

并行执行测试。默认情况下,计算机上的所有可用内核都可供使用。通过在 runsettings 文件的 RunConfiguration 节点下设置 MaxCpuCount 属性来指定显式内核数。

—TestCaseFilter|/TestCaseFilter:<Expression>

运行与给定表达式匹配的测试。<Expression> 的格式为 <property>Operator<value>[|&<Expression>],其中运算符是 =!=~ 之一。运算符 ~ 具有“包含”语义,并适用于字符串属性,如 DisplayName括号 () 用于组的子表达式。

-?|—Help|/?|/Help

打印出有关命令的简短帮助。

—logger|/logger:<Logger Uri/FriendlyName>

为测试结果指定一个记录器。

  • 若要将测试结果发布到 Team Foundation Server,请使用 TfsPublisher 记录器提供程序:
  1. /logger:TfsPublisher;
  2. Collection=<team project collection url>;
  3. BuildName=<build name>;
  4. TeamProject=<team project name>
  5. [;Platform=<Defaults to "Any CPU">]
  6. [;Flavor=<Defaults to "Debug">]
  7. [;RunTitle=<title>]
  • 若要将结果记录到 Visual Studio 测试结果文件 (TRX),请使用 trx 记录器提供程序。此开关使用给定的日志文件名在测试结果目录中创建一个文件。如果未提供 LogFileName,将创建唯一的文件名以保留测试结果。
  1. /logger:trx [;LogFileName=<Defaults to unique file name>]

-lt|—ListTests|/lt|/ListTests:<File Name>

列出给定测试容器中所有已发现的测试。

—ParentProcessId|/ParentProcessId:<ParentProcessId>

父进程的进程 ID 负责启动当前进程。

—Port|/Port:<Port>

指定套接字连接和接收事件消息的端口。

—Diag|/Diag:<Path to log file>

为测试平台启用详细日志。日志被写入到所提供的文件。

args

指定要传递到适配器的额外参数。参数被指定为 <n>=<v> 格式的名称值对,其中 <n> 是参数名称,<v> 是参数值。使用空格分隔多个参数。

示例Examples

mytestproject.dll 中运行测试:

dotnet vstest mytestproject.dll

mytestproject.dll 中运行测试,并使用自定义名称导出到自定义文件夹:

dotnet vstest mytestproject.dll —logger:"trx;LogFileName=custom_file_name.trx" —ResultsDirectory:custom/file/path

mytestproject.dllmyothertestproject.exe 中运行测试:

dotnet vstest mytestproject.dll myothertestproject.exe

运行 TestMethod1 测试:

dotnet vstest /Tests:TestMethod1

运行 TestMethod1TestMethod2 测试:

dotnet vstest /Tests:TestMethod1,TestMethod2