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

Creates JUnit XML test result documents that can be read by tools such as Jenkins

Project Description

https://travis-ci.org/kyrus/python-junit-xml.png?branch=master

About

A Python module for creating JUnit XML test result documents that can be read by tools such as Jenkins. If you are ever working with test tool or test suite written in Python and want to take advantage of Jenkins’ pretty graphs and test reporting capabilities, this module will let you generate the XML test reports.

As there is no definitive Jenkins JUnit XSD that I could find, the XML documents created by this module support a schema based on Google searches and the Jenkins JUnit XML reader source code. File a bug if something doesn’t work like you expect it to.

Installation

Clone the Git repository from Github and install it manually:

git clone https://github.com/kyrus/python-junit-xml.git
python setup.py install

Using

Create a test suite, add a test case, and print it to the screen:

from junit_xml import TestSuite, TestCase

test_cases = [TestCase('Test1', 'some.class.name', 123.345, 'I am stdout!', 'I am stderr!')]
ts = TestSuite("my test suite", test_cases)
# pretty printing is on by default but can be disabled using prettyprint=False
print(ts.to_xml_string())

Produces the following output

<?xml version="1.0" ?>
<testsuite errors="0" failures="0" name="my test suite" tests="1">
    <testcase classname="some.class.name" name="Test1" time="123.345000">
        <system-out>
            I am stdout!
        </system-out>
        <system-err>
            I am stderr!
        </system-err>
    </testcase>
</testsuite>

Writing XML to a file:

# you can also write the XML to a file and not pretty print it
with open('output.xml') as f:
    ts.write_to_file(f, prettyprint=False)

See the docs and unit tests for more examples.

Running the tests

python tests.py

Release history Release notifications

History Node

1.8

History Node

1.7

History Node

1.6

History Node

1.5

History Node

1.4

History Node

1.3

History Node

1.2

History Node

1.1

This version
History Node

1.0

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
junit-xml-1.0.tar.gz (5.9 kB) Copy SHA256 hash SHA256 Source None Jan 17, 2013
junit-xml-1.0.zip (9.8 kB) Copy SHA256 hash SHA256 Source None Jan 17, 2013

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