Skip to main content

Read JUnit/XUnit XML files and map them to Python objects

Project description

Description

xunitparser reads a JUnit/XUnit XML file and maps it to Python objects. It tries to use the objects available in the standard unittest module.

Usage

import xunitparser
ts, tr = xunitparser.parse(open('/path/to/unit.xml'))

ts is a TestSuite class, containing TestCase classes. tr is a TestResult class.

You can change the classes used (though they probably would not work unless they inherit from the xunitparser ones) by using your own xunitparser.Parser class and changing the *_CLASS variables.

Some helpful properties are added to the TestCase class:

for tc in ts:
    print('Class %s, method %s' % (tc.classname, tc.methodname))
    if tc.good:
        print('went well...', 'but did not run.' if tc.skip else '')
    else:
        print('went wrong.')

For more, please read the source code - it is very minimal. The classes also inherit from the unittest module so it is actually a good reference of what you can do with xunitparser.

Changes

  • 1.3.4

    • fix python 3 compatibility

    • main project URL change as maintainer changes

  • 1.3.0

    • Multiple results in a single TestCase are seen as one. The previous way was never validated by real-life examples.

    • Handle system-out / system-err at the testsuite level

Development

Contributions can be sent to https://gitlab.com/woob/xunitparser/

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

xunitparser-1.3.4.tar.gz (15.2 kB view hashes)

Uploaded Source

Built Distribution

xunitparser-1.3.4-py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 3

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