2014年2月27日木曜日

[C++] Jenkins でカバレッジ計測結果を表示する

最近のマイブーム、カバレッジ計測です。
前回([C++] Coveralls でコードカバレッジ)、
前々回([C++] Coveralls でコードカバレッジ - その2
Travis CI + Covarlls でカバレッジ計測をしましたが、今回は Jenkins でやります。

なぜ、Jenkins かというと社内の CI ツールが Jenkins だからというだけです。
(最近は Travis CI とか Coveralls とかの方が楽で便利だなと思っているのですが、仕事では Jenkins が手放せません。)

やり方については以下の記事を参考にしました。

gcovr のインストール
まず最初に gcovr をインストールします。
公式サイトからダウンロードしても良いですが、今回は easy_install でインストールしました。
やることは簡単で、以下のコマンドを実行するだけです。
easy_install gcovr

gcovr で xml 出力
gcc でカバレッジを出力する手順は省きます。
gcovr で xml 出力するには --xml オプションをつけて実行します。
gcovr --xml --output=gcovr_result.xml ./test
--output には出力ファイル名を指定し、解析対象のフォルダパスを渡します。

Jenkins の設定
Jenkins の設定も特に難しいことはありません。
まずは、プラグインの管理で「Cobertura Plugin」をインストールします。

次に、プロジェクトの設定を開き、「ビルド後の処理の追加」から「Cobertura カバレッジ・レポートの集計」を選択します。続いて、「Cobertura XMLレポート パターン」に gcovr が出力した xml ファイルのパスを指定します。


以上で設定は終わりです。
これを実行すると、以下のようにカバレッジが表示されます。


(条件のカバレッジ率が低いですね:-<)


かなり雑に説明しましたが、とくに躓くポイントはないと思います。
視覚化すると見えてくるものもあると思うので、導入できる環境であれば是非。
(仕事で jenkins が…といいつつ実はまだ導入してない)
それでは、皆様よい開発を~。

0 件のコメント:

コメントを投稿