IBConsole コマンド インターフェイス
ここでは Incredibuild for Unit Tests をアセンブリ レベルの分散モードに設定し、NUnit と Gtest 以外の対応フレームワークで実行する方法をみていきます。
対応フレームワーク
IBConsole は次のフレームワークに対応しています。
-
MSTest
-
VSTest
-
XUnit
-
CppUTest
-
QTtest
-
CTest
実行したフレームワークは自動的に検出されます。特定のフレームワークを実行したい場合はコマンラインに「/test={test framework}」オプションを追加します。
IBConsole の実行
IBConsole を設定・実行するには、Incredibuild のインストール フォルダ内の「IBConsole.exe」ファイルを開きます。これはパラメーターに応じて、様々な動作モードで Incredibuild for Unit Tests を設定できるコンソール アプリケーションです。
IBConsole コマンドの使い方
IBConsole には 2 種類の操作モードがあります。
-
シングル コマンド: このモードでは下の例のように「IBConsole /Command」内の引数としてコマンドが転送されます。
-
マルチ コマンド (スクリプト): スクリプト内のコマンドを並列実行するには、IBConsole コマンドを実行する前にスクリプトを修正し、「xgSubmit.exe」と「xgWait.exe」(任意) を呼び出して、分散したいプロセスを実行する必要があります。詳しくはこちらをご覧ください。
IBConsole コマンドは次のように記述します。
IBConsole /COMMAND="<job command line>" /test=”<test framework>” [options]
-
/command: ユニットテスト フレームワークのオリジナルのコマンドです。フラグを追加できます。
-
/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