TAP::Harness::JUnit(3)User Contributed Perl DocumentatioTAP::Harness::JUnit(3)NAMETAP::Harness::JUnit - Generate JUnit compatible output from TAP results
SYNOPSIS
use TAP::Harness::JUnit;
my $harness = TAP::Harness::JUnit->new({
xmlfile => 'output.xml',
...
});
$harness->runtests(@tests);
DESCRIPTION
The only difference between this module and TAP::Harness is that this
adds optional 'xmlfile' argument, that causes the output to be
formatted into XML in format similar to one that is produced by JUnit
testing framework.
METHODS
This modules inherits all functions from TAP::Harness.
new
These options are added (compared to TAP::Harness):
xmlfile
Name of the file XML output will be saved to. In case this
argument is ommited, default of "junit_output.xml" is used and a
warning is issued.
Alternatively, the name of the output file can be specified in the
$JUNIT_OUTPUT_FILE environment variable
notimes (DEPRECATED)
If provided (and true), test case times will not be recorded.
namemangle
Specify how to mangle testcase names. This is sometimes required to
interact with buggy JUnit consumers that lack sufficient
validation. Available values are:
hudson
Replace anything but alphanumeric characters with underscores.
This is default for historic reasons.
perl (RECOMMENDED)
Replace slashes in directory hierarchy with dots so that the
filesystem layout resemble Java class hierarchy.
This is the recommended setting and may become a default in
future.
none
Do not do any transformations.
ENVIRONMENT VARIABLES
The name of the output file can be specified in the $JUNIT_OUTPUT_FILE
environment variable
SEE ALSO
JUnit XML schema was obtained from
http://jra1mw.cvs.cern.ch:8180/cgi-bin/jra1mw.cgi/org.glite.testing.unit/config/JUnitXSchema.xsd?view=markup
<http://jra1mw.cvs.cern.ch:8180/cgi-
bin/jra1mw.cgi/org.glite.testing.unit/config/JUnitXSchema.xsd?view=markup>.
ACKNOWLEDGEMENTS
This module was partly inspired by Michael Peters'
TAP::Harness::Archive. It was originally written by Lubomir Rintel
(GoodData) "<lubo.rintel@gooddata.com>" and includes code from several
contributors.
Following people (in no specific order) have reported problems or
contributed code to TAP::Harness::JUnit:
David Ritter
Jeff Lavallee
Andreas Pohl
Ton Voon
Kevin Goess
BUGS
The comments that are above the "ok" or "not ok" are considered the
output of the test. This, though being more logical, is against TAP
specification.
XML::Simple is used to generate the output. It is suboptimal and
involves some hacks.
During testing, the resulting files are not tested against the schema,
which would be a good thing to do.
CONTRIBUTING
Source code for TAP::Harness::JUnit is kept in a public GIT repository.
Visit https://github.com/jlavallee/tap-harness-junit
<https://github.com/jlavallee/tap-harness-junit>.
Bugs reports and feature enhancement requests are tracked at
https://rt.cpan.org/Public/Dist/Display.html?Name=TAP-Harness-JUnit
<https://rt.cpan.org/Public/Dist/Display.html?Name=TAP-Harness-JUnit>.
COPYRIGHT & LICENSE
Copyright 2008, 2009, 2010, 2011 TAP::Harness::JUnit contributors. All
rights reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
POD ERRORS
Hey! The above document had some coding errors, which are explained
below:
Around line 87:
You forgot a '=back' before '=head1'
perl v5.14.1 2011-07-19 TAP::Harness::JUnit(3)