Skip to main content

PyJUnitXML, a pyunit extension to output JUnit compatible XML.

Project description

A Python unittest TestResult that outputs JUnit compatible XML.


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()
>>> 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


$ junitxml discover

If the package scripts have been installed.


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 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 junitxml.test_suite | subunit2gtk

If you have testrepository you can simply run testr:

$ testr run

Enjoy, Rob Collins

Project details

Download files

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

Source Distribution

junitxml-0.7.tar.gz (26.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page