Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TAP::Harness::JUnit(3)User Contributed Perl DocumentatioTAP::Harness::JUnit(3)

NAME
       TAP::Harness::JUnit - Generate JUnit compatible output from TAP results

SYNOPSIS
	   use TAP::Harness::JUnit;
	   my $harness = TAP::Harness::JUnit->new({
	       xmlfile => 'output.xml',
	       package => 'database',
	       # ...
	   });
	   $harness->runtests(@tests);

DESCRIPTION
       The only	difference between this	module and TAP::Harness	is that	this
       module adds the optional	arguments 'xmlfile', 'package',	and
       'namemangle' that cause the output to be	formatted into XML in a	format
       similar to the one that is produced by the JUnit	testing	framework.

METHODS
       This module 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. If this argument is
	   omitted, the	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

       package
	   The Hudson/Jenkins continuous-integration systems support
	   separating test results into	"packages". By default any number of
	   output xml files will be merged into	the default package "(root)".

	   Setting a package name will place all test results from the current
	   run into that package. You can also set the environment variable
	   $JUNIT_PACKAGE to do	the same.

       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.

	   Alternatively, this value can be set	in the environment variable
	   $JUNIT_NAME_MANGLE.

	   Available values are:

	   hudson
	       Replace anything	but alphanumeric characters with underscores.
	       This is the default for historic	reasons.

	   perl	(RECOMMENDED)
	       Replace slashes in the directory	hierarchy with dots so that
	       the filesystem layout resembles a Java class hierarchy.

	       This is the recommended setting and may become the default in
	       future.

	   none
	       Do not perform any transformations.

ENVIRONMENT VARIABLES
       The name	of the output file can be specified in the $JUNIT_OUTPUT_FILE
       environment variable

       The package name	that Hudson/Jenkins use	to categorise test results can
       be specified in $JUNIT_PACKAGE.

       The name	mangling mechanism used	to rewrite test	names can be specified
       in $JUNIT_NAME_MANGLE. (See namemangle documentation for	available
       values.)

SEE ALSO
       TAP::Formatter::JUnit at
       <https://metacpan.org/pod/TAP::Formatter::JUnit>

       The 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>.

ACKNOWLEDGEMENTS
       This module was partly inspired by Michael Peters's
       TAP::Harness::Archive.  It was originally written by Lubomir Rintel
       (GoodData) "<lubo.rintel@gooddata.com>" and includes code from several
       contributors.

       The 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
       Richard Huxton
       David E.	Wheeler
       Malcolm Parsons
       Finn Smith
       Toby Broyles

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. This	is suboptimal and
       involves	some hacks.

       During testing the resulting files are not tested against the schema.
       This 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>.

       Bug reports and feature enhancement requests are	tracked	at
       <https://rt.cpan.org/Public/Dist/Display.html?Name=TAP-Harness-JUnit>.

COPYRIGHT & LICENSE
       Copyright 2008, 2009, 2010, 2011, 2012, 2013 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.

perl v5.24.1			  2017-07-03		TAP::Harness::JUnit(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | ENVIRONMENT VARIABLES | SEE ALSO | ACKNOWLEDGEMENTS | BUGS | CONTRIBUTING | COPYRIGHT & LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=TAP::Harness::JUnit&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help