===========
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``.
__ http://docs.python.org/library/unittest.html
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 [email protected].