xunitparserx

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


License
MIT
Install
pip install xunitparserx==1.9.12

Documentation

xunitparserx

Description

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

xunitparserx work both for python2 and python3, with addition MSTest trx support

Usage

import xunitparserx
ts, tr = xunitparserx.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 xunitparserx ones) by using your own xunitparserx.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 xunitparserx.

Changes

Development & Contribution

Pull request is welcome.

  1. dev branch is used to accept pull request and do integration
  2. main branch is used to do release, once push, a release process will happen automate

Love My Software: https://www.paypal.me/medlab :)

Release Workflow

  1. python setup.py sdist
  2. python -m twine upload dist/*

Auto release status

Publish Python 🐍 distributions 📦 to PyPI and TestPyPI

Refs:

  1. https://blog.jetbrains.com/pycharm/2017/05/how-to-publish-your-package-on-pypi/
  2. https://packaging.python.org/guides/migrating-to-pypi-org/
  3. https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
  4. https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions