GoogleTest(gtest)のテスト結果をJenkinsで表示する方法を調べてみた。
GoogleTestで出力されるXML出力結果はJUnitのフォーマット(junitreport Ant タスク)
にもとづいているため、Jenkinsに取り込んで解析することができるらしい。
GoogleTestのテスト結果をXML形式で出力する
テスト実行時に、以下のオプションとともに実行するとxML形式でテスト結果が出力される。 -gtest_output=xml:(ファイル名)がオプションだ。
(プログラム).exe 窶堵test_output=xml:(出力ファイル名).xml
こんな感じでXML出力される。
<?xml version="1.0" encoding="UTF-8"?>
<testsuites tests="3" failures="0" disabled="0" errors="0" time="0.012" name="AllTests">
<testsuite name="MockNumTest" tests="3" failures="0" disabled="0" errors="0" time="0.006">
<testcase name="return1" status="run" time="0" classname="MockNumTest" />
<testcase name="return2" status="run" time="0" classname="MockNumTest" />
<testcase name="return3" status="run" time="0" classname="MockNumTest" />
</testsuite>
</testsuites>
XML形式のテスト結果をJenkinsで表示する
次はjenkinsの設定。ジョブの設定画面を開く。
[プロジェクトの高度なオプション] > [カスタムワークスペースの使用]
にチェックを入れて、テスト出力ファイルのディレクトリの指定。
[ビルド]を選択して、ビルドを実行するための方法を選択。
ここでは、Windowsバッチコマンドで実行する。
cd "C:\Users\hogehoge\Dropbox\src\mock_study"
make clean
make
target.exe -gtest\_output="xml:test\_result.xml"
Windowsバッチコマンドがでmakeができないときは、
WindowsサービスでJenkinsを立ち上げるのをやめるとよい。
参考:WindowsバッチファイルをJenkinsで起動したらネットにアクセスできない
[ビルド後の処理] > [JUnitテスト結果の集計]を選択。テスト結果ファイル名を入力。
テスト出力結果
こんな感じで出力された。
画像なくなりました
参考リンク
[GoogleTest - 上級ガイド - XMLレポート][4]