HudsonでPerlプロジェクトのCI - テスト結果の可視化
テストが成功するか否かだけを知りたい場合には、以前に書いたエントリでも良いのですが、CIをするのであれば、「どのテストが失敗したのか」、「どのビルドでどのテストが失敗したのか」というのかを、CI環境上で当然知りたくなるのではないかと思います。
「テスト結果の集計」という機能がHudsonにはあるので、それを使うことで上記の機能が実現できます。集計結果などがどのように表示されるかは、川口さんの以下の記事をみるとわかります。
http://gihyo.jp/dev/feature/01/hudson/0002?page=4
以下では、perlのプロジェクトでどのようにそれを実現するかを説明します。
ビルドの設定
プロジェクトの設定の「シェルの実行」のところに、以下のように追記します。
prove -lv --harness TAP::Harness::JUnit
これでTAP::Harnessの代わりに、TAP::Harness::JUnitが使われて、JUnitのXML形式のテスト結果のファイルで出力されます。
Hudsonは元々Java用のCIツールとして作られているので、デフォルトでJUnitのXML形式の出力をグラフ表示する機能が組み込まれているため、それを使うようにするというわけです。