dotnet vstest
本文适用于: ✔️ .NET Core 2.1 SDK 及更高版本
“属性”
dotnet-vstest
- 从指定文件运行测试。
摘要
dotnet vstest [<TEST_FILE_NAMES>] [--Settings] [--Tests]
[--TestAdapterPath] [--Platform] [--Framework] [--Parallel]
[--TestCaseFilter] [--logger] [-lt|--ListTests]
[--ParentProcessId] [--Port] [--Diag] [--Blame]
[--InIsolation] [[--] <args>...]] [-?|--Help]
描述
dotnet-vstest
命令运行 VSTest.Console
命令行应用程序以运行自动化单元测试。
自变量
TEST_FILE_NAMES
从指定的程序集运行测试。 用空格分隔多个测试程序集名称。 支持通配符。
选项
--Settings <Settings File>
运行测试时要使用的设置。
--Tests <Test Names>
运行具有与提供的值匹配的名称的测试。 用逗号分隔多个值。
--TestAdapterPath
在测试运行中使用来自给定路径(如果有)的自定义测试适配器。
--Platform <Platform type>
用于执行测试的目标平台体系结构。 有效值为
x86
、x64
和ARM
。--Framework <Framework Version>
用于测试执行的目标 .NET Framework 版本。 有效值的示例为
.NETFramework,Version=v4.6
或.NETCoreApp,Version=v1.0
。 其他支持的值为Framework40
、Framework45
、FrameworkCore10
和FrameworkUap10
。--Parallel
并行运行测试。 默认情况下,计算机上的所有可用内核都可供使用。 通过在 runsettings 文件的
RunConfiguration
节点下设置MaxCpuCount
属性来指定显式内核数 。--TestCaseFilter <Expression>
运行与给定表达式匹配的测试。
<Expression>
的格式为<property>Operator<value>[|&<Expression>]
,其中运算符是=
、!=
或~
之一。 运算符~
具有“包含”语义,并适用于字符串属性,如DisplayName
。 括号()
用于组的子表达式。-?|--Help
打印出有关命令的简短帮助。
--logger <Logger Uri/FriendlyName>
为测试结果指定一个记录器。
若要将测试结果发布到 Team Foundation Server,请使用
TfsPublisher
记录器提供程序:/logger:TfsPublisher; Collection=<team project collection url>; BuildName=<build name>; TeamProject=<team project name> [;Platform=<Defaults to "Any CPU">] [;Flavor=<Defaults to "Debug">] [;RunTitle=<title>]
若要将结果记录到 Visual Studio 测试结果文件 (TRX),请使用
trx
记录器提供程序。 此开关使用给定的日志文件名在测试结果目录中创建一个文件。 如果未提供LogFileName
,将创建唯一的文件名以保留测试结果。/logger:trx [;LogFileName=<Defaults to unique file name>]
-lt|--ListTests <File Name>
列出给定测试容器中所有已发现的测试。
--ParentProcessId <ParentProcessId>
父进程的进程 ID 负责启动当前进程。
--Port <Port>
指定套接字连接和接收事件消息的端口。
--Diag <Path to log file>
为测试平台启用详细日志。 日志被写入到所提供的文件。
--Blame
在意见模式中运行测试。 此选项有助于隔离导致测试主机出现故障的有问题的测试。 它会在当前目录中创建一个输出文件 (Sequence.xml),其中捕获了故障前的测试执行顺序 。
--InIsolation
在隔离的进程中运行测试。 虽然这使得 vstest.console.exe 进程不太可能在测试出错时停止,但测试的运行速度会较慢 。
@<file>
有关更多选项,请阅读响应文件。
args
指定要传递到适配器的额外参数。 参数被指定为
<n>=<v>
格式的名称值对,其中<n>
是参数名称,<v>
是参数值。 使用空格分隔多个参数。
示例
在 mytestproject.dll 中运行测试 :
dotnet vstest mytestproject.dll
在 mytestproject.dll 中运行测试,并使用自定义名称导出到自定义文件夹 :
dotnet vstest mytestproject.dll --logger:"trx;LogFileName=custom_file_name.trx" --ResultsDirectory:custom/file/path
在 mytestproject.dll 和 myothertestproject.exe 中运行测试 :
dotnet vstest mytestproject.dll myothertestproject.exe
运行 TestMethod1
测试:
dotnet vstest /Tests:TestMethod1
运行 TestMethod1
和 TestMethod2
测试:
dotnet vstest /Tests:TestMethod1,TestMethod2