jenkins で複数の junit_output.xml を集める
一つの job で複数の project などの test をし、 jenkins 側で複数の junit_output.xml 的なものを集計してもらう場合についてです。
まず JUnitテスト結果の集計 のところには例えば /path/to/*/junit_output.xml
のように指定することが出来ます。
tap の結果を junit に変換するには TAP::Harness::JUnit を使っていますが、このままだと、/path/to/a/junit_output.xml と /path/to/b/junit_output.xml にある testcase とかが同じ名前になってしまうことがあるのでそういうことを考慮すると
export JUNIT_OUTPUT_FILE=junit_output.xml export JUNIT_NAME_MANGLE=none cd /path/to/a export JUNIT_PACKAGE=a prove -lvr --harness TAP::Harness::JUnit t cd /path/to/b export JUNIT_PACKAGE=b prove -lvr --harness TAP::Harness::JUnit t
みたいな感じで /path/to/*/junit_output.xml
として集計すると a.t/hoge_fuga.t
, b.t/hoge_fuga.t
みたいな感じで集計されて良いかなと思いました。
JUNIT_OUTPUT_FILE
, JUNIT_NAME_MANGLE
に関しては以下に書きました