Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  TAP::FORMATTER::JUNIT (3)

.ds Aq ’


TAP::Formatter::JUnit - Harness output delegate for JUnit output



On the command line, with prove:

  prove --formatter TAP::Formatter::JUnit ...

Or, in your own scripts:

  use TAP::Harness;
  my $harness = TAP::Harness->new( {
      formatter_class => TAP::Formatter::JUnit,
      merge => 1,
  } );


<B>This code is currently in alpha state and is subject to change.B>

TAP::Formatter::JUnit provides JUnit output formatting for TAP::Harness.

By default (e.g. when run with prove), the entire test suite is gathered together into a single JUnit XML document, which is then displayed on STDOUT. You can, however, have individual JUnit XML files dumped for each individual test, by setting c<PERL_TEST_HARNESS_DUMP_TAP> to a directory that you would like the JUnit XML dumped to. Note, that this will <B>alsoB> cause TAP::Harness to dump the original TAP output into that directory as well (but IMHO that’s ok as you’ve now got the data in two parsable formats).

Timing information is included in the JUnit XML, if you specified --timer when you ran prove.

In standard use, passing TODOs are treated as failure conditions (and are reported as such in the generated JUnit). If you wish to treat these as a pass and not a fail condition, setting ALLOW_PASSING_TODOS in your environment will turn these into pass conditions.

The JUnit output generated is partial to being grokked by Hudson (<>). That’s the build tool I’m using at the moment and needed to be able to generate JUnit output for.


testsuites List-ref of test suites that have been executed.
xml An XML::Generator instance, to be used to generate XML output.


<B>open_test($test, B>$parser<B>)B> Over-ridden open_test() method.

Creates a TAP::Formatter::JUnit::Session session, instead of a console formatter session.

<B>summary($aggregate)B> Prints the summary report (in JUnit) after all tests are run.
<B>add_testsuite($suite)B> Adds the given XML test $suite to the list of test suites that we’ve executed and need to summarize.


Graham TerMarsch <>

Many thanks to Andy Armstrong et al. for the <B>fabulousB> set of tests in Test::Harness; they became the basis for the unit tests here.

Other thanks go out to those that have provided feedback, comments, or patches:

  Mark Aufflick
  Joe McMahon
  Michael Nachbaur
  Marc Abramowitz
  Colin Robertson
  Phillip Kimmey
  Dave Lambley


Copyright 2008-2010, Graham TerMarsch. All Rights Reserved.

This is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


TAP::Formatter::Console, TAP::Formatter::JUnit::Session, <>, <>, <>.
Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 TAP::FORMATTER::JUNIT (3) 2016-04-03

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.