• このエントリーをはてなブックマークに追加

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テスト結果の集計]を選択。テスト結果ファイル名を入力。

image

テスト出力結果

こんな感じで出力された。

image

参考リンク

GoogleTest – 上級ガイド – XMLレポート