{ "info": { "author": "Laurent Bachelier, Cong Zhang", "author_email": "laurent@bachelier.name, congzhangzh@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Testing" ], "description": "============\nxunitparserx\n============\n\nDescription\n-----------\n\nxunitparserx reads a JUnit/XUnit/MSTest XML file and maps it to Python objects.\nIt tries to use the objects available in the standard ``unittest`` module.\n\nxunitparserx work both for python2 and python3, with addition MSTest trx support\n\nUsage\n-----\n\n::\n\n import xunitparserx\n ts, tr = xunitparserx.parse(open('/path/to/unit.xml'))\n\n\n``ts`` is a ``TestSuite`` class, containing ``TestCase`` classes.\n``tr`` is a ``TestResult`` class.\n\nYou can change the classes used (though they probably would not work unless\nthey inherit from the ``xunitparserx`` ones) by using your own\n``xunitparserx.Parser`` class and changing the ``*_CLASS`` variables.\n\nSome helpful properties are added to the ``TestCase`` class::\n\n for tc in ts:\n print('Class %s, method %s' % (tc.classname, tc.methodname))\n if tc.good:\n print('went well...', 'but did not run.' if tc.skip else '')\n else:\n print('went wrong.')\n\nFor more, please read the source code - it is very minimal.\nThe classes also inherit from the `unittest`__ module so it is actually\na good reference of what you can do with ``xunitparserx``.\n\n__ http://docs.python.org/library/unittest.html\n\n\nChanges\n-------\n+ 1.9.9\n\n - add fromstring support, ref:https://docs.python.org/3/library/xml.etree.elementtree.html#parsing-xml\n - 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\n - add pytest record_xml_property support, ref: https://github.com/pytest-dev/pytest/issues/3130\n\n+ 1.3.3\n\n - add python 3 support\n\n+ 1.3.0\n\n - Multiple results in a single TestCase are seen as one.\n The previous way was never validated by real-life examples.\n - Handle system-out / system-err at the testsuite level\n\n\nDevelopment\n=========================\nPull request is welcome.\n\nLove My Software: https://www.paypal.me/medlab :)\n\nRelease Workflow\n=========================\n1. python setup.py sdist\n2. python -m twine upload dist/*\n\nRefs:\n\n1. https://blog.jetbrains.com/pycharm/2017/05/how-to-publish-your-package-on-pypi/\n2. https://packaging.python.org/guides/migrating-to-pypi-org/", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/medlab/xunitparserx", "keywords": "", "license": "", "maintainer": "Cong Zhang", "maintainer_email": "congzhangzh@gmail.com", "name": "xunitparserx", "package_url": "https://pypi.org/project/xunitparserx/", "platform": "", "project_url": "https://pypi.org/project/xunitparserx/", "project_urls": { "Homepage": "https://github.com/medlab/xunitparserx" }, "release_url": "https://pypi.org/project/xunitparserx/1.9.9/", "requires_dist": null, "requires_python": "", "summary": "Read JUnit/XUnit/MSTest XML files and map them to Python objects", "version": "1.9.9" }, "last_serial": 4042450, "releases": { "1.3.3": [ { "comment_text": "", "digests": { "md5": "d1109ddcd5a8a2163349fb12676d3d3d", "sha256": "0137858cd153046e053ad507e5931fea9360b861ed32edb500bda11a00a0f2fa" }, "downloads": -1, "filename": "xunitparserx-1.3.3.tar.gz", "has_sig": false, "md5_digest": "d1109ddcd5a8a2163349fb12676d3d3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14414, "upload_time": "2017-12-13T13:35:46", "url": "https://files.pythonhosted.org/packages/da/88/147fd2f81e308a8a5245338a96415eb0e6c7d561d8eb92c3a6120a3a3067/xunitparserx-1.3.3.tar.gz" } ], "1.9.9": [ { "comment_text": "", "digests": { "md5": "26467d80f4b94ba36bdf13f6882f26d8", "sha256": "f9630bd45d79377944b1ce679204931be070387e035705ac7eea4b41c84e27c2" }, "downloads": -1, "filename": "xunitparserx-1.9.9.tar.gz", "has_sig": false, "md5_digest": "26467d80f4b94ba36bdf13f6882f26d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16926, "upload_time": "2018-07-09T04:43:44", "url": "https://files.pythonhosted.org/packages/90/76/75b5b184d0994705840081fd2ed5933a0c350726ebdf9c87ae9ad23c4a9e/xunitparserx-1.9.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "26467d80f4b94ba36bdf13f6882f26d8", "sha256": "f9630bd45d79377944b1ce679204931be070387e035705ac7eea4b41c84e27c2" }, "downloads": -1, "filename": "xunitparserx-1.9.9.tar.gz", "has_sig": false, "md5_digest": "26467d80f4b94ba36bdf13f6882f26d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16926, "upload_time": "2018-07-09T04:43:44", "url": "https://files.pythonhosted.org/packages/90/76/75b5b184d0994705840081fd2ed5933a0c350726ebdf9c87ae9ad23c4a9e/xunitparserx-1.9.9.tar.gz" } ] }