IBConsole 命令接口(除 NUnit & Gtest 以外的所有框架)

本节介绍如何在除 Nunit 之外的所有受支持框架的 Assembly 级模式下为 Unit Test 配置和运行 IncredBuild。

受支持框架:

IBConsole 支持以下框架:

  • MSTest

  • VSTest

  • XUnit

  • CppUTest

  • QTtest

  • CTest

IBConsole 会自动检测异质性的框架。但是,如果您想强制运行某一特定框架,则可以使用 /test={test framework} CLI 命令行选项。

运行 IBConsole

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

IBConsole 命令用法

IBConsole 有两种操作模式:

  • Single command - 在此模式下,命令在 IBConsole /Command 中作为参数进行传输,方式如下所述。

  • Multiple commands (script) - 要启用脚本中每个命令的并行化,在运行 IBConsole 命令调用 xgSubmit.exe 和(可选)xgWait.exe 之前,应修改脚本本身,以便执行想要分布的进程。有关更多信息,请参阅:Using Submission Interfaces

IBConsole 命令具有以下语法:

IBConsole /COMMAND="<job command line>" /test=”<test framework>” [options]

  • /command - Unit test 框架的原始命令。该命令可能包含特定标记。

  • /test - 指定测试框架。可用值如下所示:

    • MSTest
    • VSTest
    • XUnit
    • CppUTest
    • QTtest
    • CTest
  • options – IBConsole.exe 命令行选项。有关可用选项的详细列表,请点击此处

IBConsole 命令示例

单命令示例

原始命令:

ctest -C Release --parallel 100

IBConsole 命令:

IBConsole /command=”ctest -C Release --parallel 100” /test=ctest

多命令(脚本)示例

原始批处理文件:

复制
run.bat

vstest.console.exe UnitTestProject1.dll

vstest.console.exe UnitTestProject2.dll

vstest.console.exe UnitTestProject3.dll

vstest.console.exe UnitTestProject4.dll

修改后的批处理文件:

复制
xgSubmit /command vstest.console.exe UnitTestProject1.dll

xgSubmit /command vstest.console.exe UnitTestProject2.dll

xgSubmit /command vstest.console.exe UnitTestProject3.dll

xgSubmit /command vstest.console.exe UnitTestProject4.dll

IBConsole 命令:

IBConsole /command=run.bat /test=vstest