# xunitparser

## 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.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 in the form of git patches, to laurent@bachelier.name.