Skip to main content
Help us improve Python packaging – donate today!

PyJUnitXML, a pyunit extension to output JUnit compatible XML.

Project Description

A Python unittest TestResult that outputs JUnit compatible XML.

Usage

To use PyJUnitXML you need to specify it as your TestResult when running your tests using pyunit. One way of doing this is to invoke the test method directly on your test suite:

>>> import junitxml
>>> result = junitxml.JUnitXmlResult(sys.stdout)
>>> result.startTestRun()
>>> suite.run(result)
>>> result.stopTestRun()

The startTestRun and stopTestRun methods are new in python 2.7 and 3.1. If you are using older versions of python, and do not invoke the test result directly, you may find that no output occurs at all. This is likely because the stopTestRun method is not being invoked, and you will need to arrange for it to be invoked.

There is a command line runner you can use:

$ python -m junitxml.main discover

or

$ junitxml discover

If the package scripts have been installed.

Troubleshooting

My test runs, but nothing is output? Check that result.stopTestRun is being called. Due to the XML file format requiring a header containing the test counts, nothing is output until the test run has completed, and that is signalled by the stopTestRun method being called.

Reporting Bugs and Asking Questions

PyJUnitXML is hosted on Launchpad at https://launchpad.net/pyjunitxml. Please file bugs, ask questions and so on at will.

Running PyJUnitXML’s test suite

The function junitxml.test_suite defines the junitxml test suite, you can use any runner you like. I personally use:

$ python -m subunit.run junitxml.test_suite | subunit2gtk

If you have testrepository you can simply run testr:

$ testr run

Enjoy, Rob Collins

Release history Release notifications

This version
History Node

0.7

History Node

0.6

History Node

0.5

History Node

0.4

History Node

0.3

History Node

0.2

History Node

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
junitxml-0.7.tar.gz (26.0 kB) Copy SHA256 hash SHA256 Source None Nov 18, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page