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

下一章介绍了关于在使用 NUnit 或 GTest 时如何为 Unit Tests 运行 Incredibuild 的说明。

受支持的框架:

  • NUnit 2

  • NUnit 3

  • Google Test (Gtest)

IBtestConsole 将自动检测已执行的框架。但是,如果您想强制运行某一特定框架,您可以使用下面描述的 /test flag。

Configuring IBTestConsole

配置 IBTestConsole 时,您需要运行位于 Incredibuild 安装文件夹内的 IBTestConsole.exe 文件。

使用 IBTestConsole 运行 Unit Tests

IBTestConsole 命令使用下列语法:

IBTestConsole [Framework Command + Flags] [IBTestConsole Command Line Options]
  • Command- 表示 Unit Test 框架中的原始命令。该命令可以包含特定标记(如下所述)。

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

受支持的框架命令标记

Incredibuild 仅支持以下框架命令标记:

NUnit 2 受支持的标记

Nunit2 CLI reference

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

NUnit 3 命令标记

NUnit3 CLI reference

  • @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_output=(json|xml)[:DIRECTORY_PATH|:FILE_PATH]

  • --gtest_filter

  • --gtest_filter=POSTIVE_PATTERNS[-NEGATIVE_PATTERNS]

  • --gtest_also_run_disabled_tests

  • --gtest_repeat=[COUNT]

  • --gtest_shuffle

  • --gtest_random_seed=[NUMBER]

IBTestConsole Command Line Options

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

选项

描述

备注

/help

在屏幕上显示此信息

/logfile=<filename>

指定日志文件名称。

/loglevel=<level>

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

/OpenMonitor

运行测试时,打开 Build Monitor

/targetdir=<path>

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

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

/testlevel=<level>

指定测试分布水平。

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

  • Assembly – 为每个核心分发一个装配。

  • Auto - 使用最大可用核心数。

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

  • Suite - 基于套件分发(每个核心一个套件)。

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

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

/test={framework}

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

受支持框架:

  • /test=NUnit3

  • /test=NUnit2

  • /test=GTest

/silent

设置静音模式(禁用控制台输出)

 

/MinWinVer=<version>

Helper Agents 所需的最低 Windows 版本。

支持值 = [XP, 2003, Vista, 2008, 7, 8, 8.1, 10]

 

/MaxWinVer=<version>

Helper Agents 所需的最高 Windows 版本。

支持值 = [XP, 2003, Vista, 2008, 7, 8, 8.1, 10]

 

/out=<filename>

将整个命令行输出重新定向到一个文件。

 

/title="<text>"

添加一行文本构建输出

 

/inputfile=<filename>

指定输入文件名。仅支持 Gtest

 

Return Codes

代码

描述

0

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

  • 用户命令正确

  • 发现阶段顺利完成

  • 所有测试均已成功执行

  • 结果已成功合并(即使测试失败)

  • 向用户显示控制台输出(如适用)

1

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

-1

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