{ "info": { "author": "Sean Myers", "author_email": "sean.dst@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Django", "Intended Audience :: Developers", "License :: DFSG approved", "License :: Freely Distributable", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Testing" ], "description": "Introduction\n============\n\ndjango-jux/JUXD is an attempt to get JUnit-style XML output from the Django test runner.\nIt does a few notable things:\n\n* Uses the test runner from the ``django.utils.unittest`` abstraction layer (Django >= 1.3 required)\n* Does not redefine the behavior of the test suite's ``run`` method\n* Does not redefine the behavior of the test runner's ``run_suite`` method\n* Includes test suite run time as well as individual test run times\n* Supports all available unittest2 outcomes (success, failure, error, etc...)\n* Works with builtin ElementTree to generate the XML output\n\nThis job can be done using nose's xunit plugin, but with the unittest \nimprovements in Python 2.7, my only reason for using nose was for the xunit \nplugin itself. nose is a bit of a heavy hitter, but it's a (really good) \ngeneric test runner, not django specific. I wanted something a little more \ntargeted, and this is the result.\n\nThe main motivator behind this was getting test output into Jenkins CI,\nwhich works perfectly.\n\nInstallation\n============\n\nInstall Django >=1.3 and set up a project.\nThen, in your django project settings:\n\n::\n\n # Tell Django to use the JUXD Test Suite Runner\n TEST_RUNNER = 'juxd.JUXDTestSuiteRunner'\n # Where to write the output \n JUXD_FILENAME = '/path/to/junit.xml'\n\nThanks\n======\nThis module pulls inspiration from a lot of sources, and credit is due to all of them:\n\n* `junitxml plugin from the experimental plugin branch of unittest2`__\n\n__ https://bitbucket.org/jpellerin/unittest2\n\n* `xunit plugin for nose`__\n\n__ http://nosexunit.sourceforge.net/ \n\n* `Jenkins CI`__\n\n__ http://jenkins-ci.org/\n\n* `JUnit itself`__\n\n__ http://www.junit.org/\n\n* `MetaMetrics, Inc.`__\n\n__ http://www.metametricsinc.com/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/seandst/django-jux", "keywords": null, "license": "MIT Expat License", "maintainer": null, "maintainer_email": null, "name": "django-jux", "package_url": "https://pypi.org/project/django-jux/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-jux/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://bitbucket.org/seandst/django-jux" }, "release_url": "https://pypi.org/project/django-jux/1.0.2/", "requires_dist": null, "requires_python": null, "summary": "JUnit-style XML output for Django tests", "version": "1.0.2" }, "last_serial": 789932, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "30962e03962f30d8d6645cc12afa7771", "sha256": "b94b3895d746862cd86c9e6fa82cc77181e2dd2f8c75c742e86985ad5cecbd64" }, "downloads": -1, "filename": "django-jux-1.0.tar.gz", "has_sig": false, "md5_digest": "30962e03962f30d8d6645cc12afa7771", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3617, "upload_time": "2011-09-11T00:01:26", "url": "https://files.pythonhosted.org/packages/5b/3c/baad04285b2afc6d4516e06d8b32292dcb119d73c41433be522e4d7f0212/django-jux-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "4685e47aee6d0ea555c8ee5fa1b48bc9", "sha256": "19a470f477c75e9055f124325f3384f34ccc18c7e5f5184a39ee64440dd7a5db" }, "downloads": -1, "filename": "django-jux-1.0.1.tar.gz", "has_sig": false, "md5_digest": "4685e47aee6d0ea555c8ee5fa1b48bc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3749, "upload_time": "2011-09-11T00:47:37", "url": "https://files.pythonhosted.org/packages/c2/57/61bf240ab8c8603cc629b37f0204694bcf30afc71c132fc404125ca67948/django-jux-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "43b961b4f190728970bc200ad7bac015", "sha256": "7572c52a0452072946d6323d377ed1c9bdde80dfdeb0d3b3bcaaa5747fdeb537" }, "downloads": -1, "filename": "django-jux-1.0.2.tar.gz", "has_sig": false, "md5_digest": "43b961b4f190728970bc200ad7bac015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4065, "upload_time": "2011-09-15T23:14:02", "url": "https://files.pythonhosted.org/packages/cf/62/167de933e7ccc172577dc49e03cedfa3fb63ea14b8d63d64572d0b3098ab/django-jux-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "43b961b4f190728970bc200ad7bac015", "sha256": "7572c52a0452072946d6323d377ed1c9bdde80dfdeb0d3b3bcaaa5747fdeb537" }, "downloads": -1, "filename": "django-jux-1.0.2.tar.gz", "has_sig": false, "md5_digest": "43b961b4f190728970bc200ad7bac015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4065, "upload_time": "2011-09-15T23:14:02", "url": "https://files.pythonhosted.org/packages/cf/62/167de933e7ccc172577dc49e03cedfa3fb63ea14b8d63d64572d0b3098ab/django-jux-1.0.2.tar.gz" } ] }