Microsoft.Testing.Platform (MTP) CLI 选项参考指南

本文提供了 MTP 命令行选项的中心入口点。

平台选项

  • @

    指定响应文件的名称。 响应文件名必须紧跟在@字符后面,并且在@字符和响应文件名之间不能有空格。

    响应文件中的选项被解释为在命令行中存在于该位置。 不能使用反斜杠字符 \ 连接行。 使用响应文件有助于执行可能超过终端限制的很长的命令。 可以将响应文件与内联命令行参数组合在一起。 例如:

    ./TestExecutable.exe @"filter.rsp" --timeout 10s
    

    其中 filter.rsp 可以包含以下内容:

    --filter "A very long filter"
    

    或者,可以使用单个 rsp 文件来指定超时和筛选,如下所示:

    ./TestExecutable.exe @"arguments.rsp"
    
    --filter "A very long filter" --timeout 10s
    

    注释

    使用 dotnet test时,SDK 命令行分析程序使用每行令牌方法,其中响应文件中的每一行都被视为单个令牌。 在这种情况下,每个参数必须独占一行:

    --filter
    A very long filter
    --timeout
    10s
    
  • --config-file

    指定 testconfig.json 文件。

  • --debug

    在启动时暂停测试执行,以便可以将调试器附加到测试进程。 等效于将 TESTINGPLATFORM_WAIT_ATTACH_DEBUGGER环境变量 设置为 1. 浏览器平台上不受支持。

    注释

    从版本 1.9.0 开始,MTP 中提供了此选项。 它替换了上一 --debug-wait-attach 个选项(在 MTP 1.6.0 中引入);旧名称已被删除,不能再使用。

  • --diagnostic

    启用诊断日志记录。 默认日志级别为 Trace。 该文件以名称格式 log_[MMddHHssfff].diag 写入到输出目录中。

  • --diagnostic-synchronous-write

    强制内置的文件记录器以同步方式写入日志。 对于在进程崩溃时不想丢失任何日志条目的场景非常有用。 这会减慢测试执行速度。

  • --diagnostic-output-directory

    诊断日志记录的输出目录,如果未指定,则会在默认的 TestResults 目录中生成该文件。

  • --diagnostic-file-prefix

    日志文件名的前缀。 默认为 "log"

  • --diagnostic-verbosity

    当使用 --diagnostic 开关时定义详细程度级别。 可用值包括 TraceDebugInformationWarningErrorCritical

  • --exit-on-process-exit

    如果依赖进程退出,请退出测试进程。 必须提供 PID。

  • --filter-uid

    按测试节点 UID 筛选要运行的测试。 接受一个或多个 UID。

    注释

    从版本 1.8.0 开始,MTP 中提供了此选项。

  • --help

    打印出有关如何使用命令的说明。

  • --ignore-exit-code

    允许忽略一些非零退出代码,并转而返回为 0。 有关详细信息,请参阅忽略特定的退出代码

  • --info

    显示有关.NET测试应用程序的高级信息,例如:

    • 平台。
    • 环境。
    • 每个已注册的命令行提供程序,例如其 nameversiondescriptionoptions
    • 每个已注册的工具,例如其 commandnameversiondescription,以及所有命令行提供程序。

    此功能用于了解将注册相同命令行选项的扩展,或扩展(或平台)的多个版本之间可用选项的更改。

  • --list-tests

    列出可用测试而不执行它们。 可选接受一个参数,用于控制输出格式:text(默认,便于人类阅读)或 json

    注释

    输出 json 格式在 MTP 中可用,从版本 2.3.0 开始。

  • --maximum-failed-tests

    达到指定测试失败最大次数时,将停止测试运行。 要支持这种切换,需要框架作者实现 IGracefulStopTestExecutionCapability 功能。 达到该数量的测试失败时退出代码为 13。 有关详细信息,请参阅 MTP 退出代码

    注释

    从版本 1.5 开始,MTP 中提供了此功能。

  • --minimum-expected-tests

    指定预期要运行的最小测试数。 默认情况下,至少要运行一个测试。

  • --no-banner

    禁用启动横幅、版权消息和遥测横幅。 也可以通过TESTINGPLATFORM_NOBANNERDOTNET_NOLOGO环境变量达到同样的效果。

  • --results-directory

    用于放置测试结果的目录。 如果指定的目录不存在,则会创建该目录。 默认为 TestResults,位于包含测试应用程序的目录中。

  • --timeout

    全局测试执行超时。 传入一个格式为<value>[h|m|s]的字符串参数,其中<value>表示浮点数。

  • --treenode-filter

    使用树筛选器表达式筛选要运行的测试。 树筛选器可提供比 --filter 更丰富的匹配能力,适用于高级场景。

根据场景的扩展选项

使用下表快速查找扩展选项。

Scenario 功能文档
收集代码覆盖率 代码覆盖率
收集故障或挂起转储 崩溃和挂起转储
生成测试报告(例如 TRX) 测试报告
自定义终端输出 终端输出
应用托管级控件 热重载
重试失败的测试 重试
运行使用 Microsoft Fakes 的测试 Microsoft Fakes
发出 OpenTelemetry 跟踪和指标 OpenTelemetry

发现测试应用中的选项

请使用 --help 运行您的测试可执行文件,以列出当前扩展集的可用选项。

要对已注册的提供程序和选项进行高级诊断,请使用 --info 运行。

另请参阅