テストエクスプローラーで実行していたのでは自動化できない!
というわけで、自動化するためにコマンドライン実行をする方法を調べました。
ついでに、Jenkins で結果を集計する方法も調べています。
コマンドライン実行する方法
"%ProgramFiles%\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"を使います。
テストプロジェクトをビルドすると dll が作成されるので、
その dll パスを vstest.console.exe の引数に渡すと実行されます。
vstest.console.exe iutest_unittest.dll
その他のコマンドラインオプションは vstest.console.exe /? とすることで見ることができます。
または、MSDN にも載っています。
Jenkins で集計する方法
/logger オプションで結果の出力フォーマットを指定できます。/logger:trx で Visual Studio テスト結果ファイル(TRX) で出力でき、
trx ファイルは MSTest plugin を使えば結果の集計ができそうです。
まずは、ビルド手順を追加して以下のようにテストを実行します。
vstest.console.exe iutest_unittest.dll /logger:trx
テスト結果は
./TestResults/${USERNAME}_${COMPUTERNAME} ${日付} ${時間}.trx
に出力されます。
次に、「ビルド後の処理の追加」から「Publish MSTest test result reposrt」を選択し、trx ファイルを集計するように設定します。
以上で設定は終わりです。
このようにテスト結果が集計されました。