IBTestConsole 命令接口(针对 NUnit、GTest)

以下章节介绍如何配置和运行 Incredibuild,以使用 Nunit 框架在 Assembly 级别模式或 Test 级别模式下运行 Unit Test。指定 Nunit 的 Assembly 或 Test 级别模式的设置在 IBTestConsole 命令中指定,如下所述.

受支持的框架:

IBTestConsole 支持下列框架:

  • NUnit 2

  • NUnit 3

  • Google Test (Gtest)

IBtestConsole 将自动检测已执行的框架。但是,如果您想要强制执行某个特定框架,则可以使用 /test=NUnit3/test=NUnit2 CLI 命令行选项。

运行 IBTestConsole

配置和运行 IBTestConsole 时,首先应运行位于 Incredibuild 安装文件夹内的 IBTestConsole.exe 文件。这是一个控制台应用程序,它根据各种参数为各种操作模式下的 Unit Test 初始化 IncredBuild。

IBTestConsole 使用以下语法:

IBTestConsole [command] [options]

  • Command - Unit test 框架的原始命令。该命令可以包含特定标记(如下所述)。

  • Options– 下文中描述的选项之一。

受支持的框架命令标记

下列框架命令标签受 Incredibuild 支持,可用于 Unit Test。每个框架版本都包括不同的标记,如下所述。要了解每个标志的更多信息,请参阅 Nunit 3 CLI 参考资料Nunit2 CLI 参考资料

NUnit 2 受支持的标记

  • /run
  • /runlist
  • /include
  • /exclude
  • /result, /xml
  • /noresult, /noxml
  • /framework
  • /timeout

NUnit 3 命令标记

  • @FILE
  • --testlist=FILE
  • --where=EXPRESSION
  • --config=NAME
  • --framework=FRAMEWORK
  • --timeout=MILLISECONDS
  • --seed=SEED
  • --skipnontestassemblies
  • --result=SPEC
  • --noresult
  • --shadowcopy
  • --noheader, --noh
  • --params | p=PARAMETER
  • --dispose-runners

Gtest 命令标记

  • --gtest_output
  • --gtest_filter

IBTestConsole 选项

下列选项可添加在 IBTestConsole 命令的末尾。

选项

描述

备注

/help

在屏幕上显示此信息

/logfile=<filename>

指定日志文件名称。

/loglevel=<level>

设置日志级别。可以是 [trace,debug,info,warning,error,fatal]。

/OpenMonitor

运行测试时,打开 Build Monitor

/targetdir=<path>

指定运行测试框架的工作目录。

如果 IBTestConsole 不是从与测试程序集相同的目录启动的,则应使用此命令。

/testlevel=<level>

指定测试分布水平。

支持的值=[自动、装配、深度、套件、<要参与的核心数量>] 。

  • Assembly/test level – /testlevel=default 将使用汇编级分布。

  • Number of cores - 在测试水平分布中要使用的核心数量。Incredibuild 将在所有内核之间平均分布所有测试(例如,如果有 1000 个测试且 N=200,则 200 个内核中平均每个内核运行 5 个测试)。

  • Deep - 使用池中所有可用的核心,同时努力在不同的核心中运行每个测试。

要使用的内核数量可决定并行化的效率。通常,您应该设置 /testlevel=N 命令选项,使N大约为本机上内核数量的 2.5 倍。有关测试级别优化的更多信息,请参阅高级测试级别优化

/test={framework}

强制 IBTestConsole 将执行的命令作为特定框架处理。

默认情况下,IBTestConsole 将尝试检测已执行的目标框架。使用该选项强制 IBTestConsole 将已执行的命令作为特定框架处理。

受支持框架:

  • NUnit2

  • NUnit3

Return Codes

IBTestConsole 返回下列返回码:

代码

描述

0

成功退出。此项指示在以下任一阶段都未发生内部错误:

  • 用户 cmdline 正确
  • 发现阶段顺利完成
  • 所有测试均已成功执行
  • 结果已成功合并(即使测试失败)
  • 向用户显示控制台输出(如适用)
1

上述任一阶段执行过程中的内部错误

-1

非预期内部错误。实际中不应发生。