Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bleargh45/tap-formatter-junit
Harness output delegate for JUnit output
https://github.com/bleargh45/tap-formatter-junit
junit prove test-anything-protocol
Last synced: 2 months ago
JSON representation
Harness output delegate for JUnit output
- Host: GitHub
- URL: https://github.com/bleargh45/tap-formatter-junit
- Owner: bleargh45
- Created: 2021-01-06T04:28:26.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-07-11T07:13:25.000Z (over 1 year ago)
- Last Synced: 2024-06-19T00:33:16.825Z (6 months ago)
- Topics: junit, prove, test-anything-protocol
- Language: Perl
- Homepage: https://metacpan.org/release/TAP-Formatter-JUnit/
- Size: 157 KB
- Stars: 3
- Watchers: 2
- Forks: 6
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: Changes
Awesome Lists containing this project
README
# NAME
TAP::Formatter::JUnit - Harness output delegate for JUnit output
# SYNOPSIS
On the command line, with `prove`:
```
$ prove --formatter TAP::Formatter::JUnit ...
```Or, in your own scripts:
```perl
use TAP::Harness;# What TAP output did we save from a previous run, with
# PERL_TEST_HARNESS_DUMP_TAP=tap/
my @tests = glob("tap/*.t");# Convert the TAP to JUnit
my $harness = TAP::Harness->new( {
formatter_class => 'TAP::Formatter::JUnit',
merge => 1,
} );
$harness->runtests(@tests);
```# DESCRIPTION
**This code is currently in alpha state and is subject to change.**
`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 `PERL_TEST_HARNESS_DUMP_TAP` to a directory that you would
like the JUnit XML dumped to. Note, that this will **also** 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 parseable formats).Timing information is included in the JUnit XML, _if_ you specified `--timer`
when you ran `prove`.In standard use, a "passing TODO" is treated as failure conditions (and is
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
([http://hudson.dev.java.net/](http://hudson.dev.java.net/)). That's the build tool I'm using at the
moment and needed to be able to generate JUnit output for.# ATTRIBUTES
- testsuites
List-ref of test suites that have been executed.
- xml
An `XML::Generator` instance, to be used to generate XML output.
# METHODS
- open\_test($test, $parser)
Over-ridden `open_test()` method.
Creates a `TAP::Formatter::JUnit::Session` session, instead of a console
formatter session.- summary()
Prints the summary report (in JUnit) after all tests are run.
- add\_testsuite($suite)
Adds the given XML test `$suite` to the list of test suites that we've
executed and need to summarize.# AUTHOR
Graham TerMarsch
Many thanks to Andy Armstrong and all those involved for the **fabulous** 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
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.# SEE ALSO
- [TAP::Formatter::Console](https://metacpan.org/pod/TAP%3A%3AFormatter%3A%3AConsole)
- [TAP::Formatter::JUnit::Session](https://metacpan.org/pod/TAP%3A%3AFormatter%3A%3AJUnit%3A%3ASession)
- [Hudson home page](http://hudson.dev.java.net/)
- [JUnitXSchema.xsd](http://jra1mw.cvs.cern.ch:8180/cgi-bin/jra1mw.cgi/org.glite.testing.unit/config/JUnitXSchema.xsd?view=markup&content-type=text%2Fvnd.viewcvs-markup&revision=HEAD)
- [JUnit parsing in Bamboo](http://confluence.atlassian.com/display/BAMBOO/JUnit+parsing+in+Bamboo).