2016年5月9日月曜日

Circle CI で Junit 形式 xml の集計

CI サービスで JUnit 形式の xml を集計できるものは、以下のものがあります。

Circle CI

Shippable


どちらを使ってもいいのですが、現在 iutest の開発では、
Shippable は Wandbox を使ったコンパイラーバージョン検証に利用しているので、Circle CI を使うことにしました。
ただ、Circle CI も今までは python ツールの検証用に使っていました。
今回、最適化オプションごとの検証用として再定義しなおしています。(もともとしてた python ツールのテストは別サービスに移行予定)

Circle CI で Junit 形式の xml 集計
さて、本題です。
Circle CI では、テスト結果は $CIRCLE_TEST_REPORTS ディレクトリに入れることになっています。
https://circleci.com/docs/test-metadata/
さらに、テストツールごとに階層がある構成になってます。(e.g. $CIRCLE_TEST_REPORTS/cucumber)
今回は JUnit 形式の xml を出力するので、junit ディレクトリに保存します。

iutest の場合:
test:
  post:
    - mkdir -p $CIRCLE_TEST_REPORTS/junit/
    - find . -type f -regex ".*/test/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;

集計結果は「Test Summary」に表示されます。
成功の場合:

失敗の場合:


簡単ですね。

1 件のコメント: