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