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
1.9.10+
use github action to auto publish to pypi
1.9.9
add fromstring support, ref:https://docs.python.org/3/library/xml.etree.elementtree.html#parsing-xml
add MSTest trx support(parse_trx, fromstring_trx), ref: https://gist.github.com/congzhangzh/92ca9692430a95e3dce98f4ae2c0004e, https://gist.github.com/congzhangzh/30ecfd89fa9f0d4139c585869d2df81f, https://github.com/x97mdr/pickles/blob/master/src/Pickles/Pickles.Test/results-example-mstest.trx
add pytest record_xml_property support, ref: https://github.com/pytest-dev/pytest/issues/3130
1.3.3
add python 3 support
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 & Contribution
Pull request is welcome.
dev branch is used to accept pull request and do integration
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
python setup.py sdist
python -m twine upload dist/*
Auto release status
Refs:
Metadata
Release files for xunitparserx 1.9.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xunitparserx-1.9.12.tar.gz | 18.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xunitparserx-1.9.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.4 kB
Release files / xunitparserx-1.9.12.tar.gz
| Download URL | xunitparserx-1.9.12.tar.gz |
|---|---|
| Size | 18.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
21c5cb65f83f13688b4ff129f02fd966f9d40c6131c03742594bc4339570d9ee
|
|
BLAKE2b-256 checksum How to use checksums |
5746424cfdbf82995aa027dc3fa4f85c345acff6ddea72fdaa757f2dc7d7c1ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7
|
Release files / xunitparserx-1.9.12-py3-none-any.whl
| Download URL | xunitparserx-1.9.12-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
20e7573999e9dfb7cce39c361b1050b78d56000ed909ef6ae8a131efe3d1c962
|
|
BLAKE2b-256 checksum How to use checksums |
fbac9ece431042ace8be66418d47409cf399f7e8b064810d1aef1a5221f209b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.7
|