{ "info": { "author": "Steve Jalim, Hugo Rodger-Brown", "author_email": "steve@somefantastic.co.uk, hugo@yunojuno.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "django-juno-testrunner\n======================\n\n .. image:: https://travis-ci.org/yunojuno/django-juno-testrunner.svg?branch=master\n :target: https://travis-ci.org/yunojuno/django-juno-testrunner\n\nThis is a drop-in test-runner alternative for Django 1.6+ which takes DiscoverRunner and adds the following:\n\n- Generates a file with all failed or errored test output for inspection later\n- Generates a file listing the dot-separated paths of all failed or errored tests to make it easy to re-run just the failed ones\n- Displays test failure messages/tracebacks as they happen, without stopping the rest of the tests running\n- Displays a countdown of tests as they run, showing each test's number out of the total\n- Displays the elapsed time so far and a (rough) estimate of how long the remaining tests will take\n- Colourised output to make it easier to grok how your test run is going (Plus, it's prettier)\n\nThe Python package you get, if you're interested, is called ``junorunner``. That's because it came from the YunoJuno `codebase `_, and we'd put all of our pun skills into copy for the site, so we played it safe this time.\n\nInstallation\n------------\n\n1. Recommended installation is via **pip**, inside a **virtualenv**.\n\nTo get it from **PyPi** et al::\n\n $ pip install django-juno-testrunner\n\nIf you want the bleeding-edge version from GitHub::\n\n $ pip install -e git+ssh://git@github.com/YunoJuno/django-juno-testrunner.git#egg=django-juno-testrunner\n\nDownloading the package's source and installing it yourself is also an option.\n\nOnce downloaded, run::\n\n $ python setup.py\n\nBut you knew that already, yep?\n\n``django-juno-testrunner`` has one automatically installed dependency, the delightful `colorama `_.\n\n2. Update your ``settings.py`` to use this test runner::\n\n TEST_RUNNER = 'junorunner.testrunner.TestSuiteRunner'\n\n3. Set some options, if you want.\n\nBy default, ``junorunner`` will show you test errors and failures as they happen, inline in the test output, so you can ponder them while waiting for the rest of the suite to run. You can disable this, of course::\n\n TEST_RUNNER_IMMEDIATELY_SHOW_FAILS = False\n\nAlso by default, ``junorunner`` puts the traceback from all test failures and errors in a file called 'test_failures.txt' in the project root. Alongside that is a file with the name of each failed test in full dot-separated syntax, one test per line, to make it easier to re-run just your failed tests (more on that later). If you don't like the default names, go to town with your own choices::\n\n TEST_RUNNER_RERUN_LOG_FILE_NAME = 'must_try_harder.txt'\n TEST_RUNNER_FAILURE_LIST_FILENAME = 'post_mortem.txt'\n\nThat's it.\n\nUsage\n-----\n\nRunning tests\n'''''''''''''\n\n``junorunner`` will replace the default Django 1.6+ DiscoverRunner so run your tests as 'normal', whether that's via a straight ``./manage.py test`` or Fabric or some big red button and an Arduino, as long as ``manage.py test`` is ultimately called, it's all good.\n\nYou'll get the most informative in-flight output with `--verbosity=2`.\n\nWhen your test run is over, you'll get the usual detailed failure and error output, if any, plus there'll be the failures list (default name ``test_failures.txt``) and the rerun log (``test_rerun.txt``) in your project directory. If all your tests passed, these files will still exist, but will be empty.\n\nNote that as soon as you start a new test run (even if you then Ctrl-C it to death or use an axe to cut the power cable), the contents of those files will be immediately zapped.\n\nUsing the rerun log\n'''''''''''''''''''\n\nIf you're not sure how to to pump the dot-separated failed tests back into the test client, you can do this way::\n\n $ ./manage.py test $(cat test_rerun.txt) #\u00a0POSIX\n\nor ::\n\n $ ./manage.py test $(< test_rerun.txt) #\u00a0bash\n\n\nGenerating JUnit compatible XML\n'''''''''''''''''''''''''''''''\n\nIf you are running your tests in an environment that can process JUnit XML files (e.g. in Jenkins), you may want to set ``TEST_RUNNER_JUNIT_XML``::\n\n TEST_RUNNER_JUNIT_XML = os.path.join(BASE_DIR, 'junit.xml')\n\nRoadmap\n-------\n\n- improve time-left-to-run estimate\n\nContributing\n------------\n\nContributions and bug reports are welcome. Pull requests adding jazzy new features are even more welcome.\n\nThanks to:\n\n* Tom Wardill for Python3 support - https://github.com/tomwardill\n* Gergely Polonkai for JUnit XML support - https://github.com/gergelypolonkai", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yunojuno/django-juno-testrunner.git", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "django-juno-testrunner", "package_url": "https://pypi.org/project/django-juno-testrunner/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-juno-testrunner/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/yunojuno/django-juno-testrunner.git" }, "release_url": "https://pypi.org/project/django-juno-testrunner/0.4.1/", "requires_dist": null, "requires_python": null, "summary": "A more useful (and slightly more glamorous) test runner for Django 1.6+ from the folks at YunoJuno", "version": "0.4.1" }, "last_serial": 2295328, "releases": { "0.2.5": [ { "comment_text": "", "digests": { "md5": "63a5a88038d54a499d99a3f4003cd322", "sha256": "a7a08d48bacd15d150bdad7425e100a5f77978de74de151e09ef6e0ad890a6ab" }, "downloads": -1, "filename": "django-juno-testrunner-0.2.5.tar.gz", "has_sig": false, "md5_digest": "63a5a88038d54a499d99a3f4003cd322", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8283, "upload_time": "2014-04-30T16:03:11", "url": "https://files.pythonhosted.org/packages/bf/e1/aa4ddaf5b5f4a9d8093b50a9ccb871b854349d1558abeb49c5d59bec43fb/django-juno-testrunner-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "7104c6ff91ef0fc61592995d7185b977", "sha256": "c4809c8708721983b01fa55ec36a9e0f3f74a85ce4b1bf9ed6224f9dab3a7841" }, "downloads": -1, "filename": "django-juno-testrunner-0.2.6.tar.gz", "has_sig": false, "md5_digest": "7104c6ff91ef0fc61592995d7185b977", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8319, "upload_time": "2014-07-04T13:53:32", "url": "https://files.pythonhosted.org/packages/6b/97/e09ea8e45077cb604a6e8284e42fe1caf33f043659c33fc65a504b401567/django-juno-testrunner-0.2.6.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "976fc5ee2d62063f2a9da976d77aed02", "sha256": "6d317feaa899761ac120ef95b4d17522c9e9214e588a1aaa0d784c115acda77a" }, "downloads": -1, "filename": "django-juno-testrunner-0.3.tar.gz", "has_sig": false, "md5_digest": "976fc5ee2d62063f2a9da976d77aed02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10420, "upload_time": "2015-02-03T22:39:10", "url": "https://files.pythonhosted.org/packages/54/19/d7edae7bcd328dc652fdca31e0dd4973d7718d50ac5b6dd2bb6cacc07bf7/django-juno-testrunner-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "397d95daf664bfdc8ba20259cbee28f0", "sha256": "c2524002f3e44dbea65fa3e14d038f6ee9fc1463a122fbdf1c2701040469d50a" }, "downloads": -1, "filename": "django-juno-testrunner-0.3.1.tar.gz", "has_sig": false, "md5_digest": "397d95daf664bfdc8ba20259cbee28f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10454, "upload_time": "2015-03-10T13:08:04", "url": "https://files.pythonhosted.org/packages/ea/64/e6ce82d9849e9c494c65a619666d27e410f82b7ddd407d6747a185c49e77/django-juno-testrunner-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "90cd5c3b484f7b732ec21786f26629bb", "sha256": "791b018bce4fa24a1a8ba6d4391ee17259a01952de399cd6f66c7402d34684ab" }, "downloads": -1, "filename": "django-juno-testrunner-0.4.0.tar.gz", "has_sig": false, "md5_digest": "90cd5c3b484f7b732ec21786f26629bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11407, "upload_time": "2016-08-17T10:43:10", "url": "https://files.pythonhosted.org/packages/ae/d3/1715ba5d05178d0dcc420ecf94f7096e86808f7973ed7957c2d6dfa4800f/django-juno-testrunner-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "77e72c1bfd50a1cf7746c52f72988422", "sha256": "b5c16a1661792e605433c82c1f110c5e804142bcfac4e522ccdb4dce907340cd" }, "downloads": -1, "filename": "django-juno-testrunner-0.4.1.tar.gz", "has_sig": false, "md5_digest": "77e72c1bfd50a1cf7746c52f72988422", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11625, "upload_time": "2016-08-22T12:02:49", "url": "https://files.pythonhosted.org/packages/81/ce/c3599238dcb935bdfc8eb81df8c0a184912a8160b83933ccfdeda81d2757/django-juno-testrunner-0.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "77e72c1bfd50a1cf7746c52f72988422", "sha256": "b5c16a1661792e605433c82c1f110c5e804142bcfac4e522ccdb4dce907340cd" }, "downloads": -1, "filename": "django-juno-testrunner-0.4.1.tar.gz", "has_sig": false, "md5_digest": "77e72c1bfd50a1cf7746c52f72988422", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11625, "upload_time": "2016-08-22T12:02:49", "url": "https://files.pythonhosted.org/packages/81/ce/c3599238dcb935bdfc8eb81df8c0a184912a8160b83933ccfdeda81d2757/django-juno-testrunner-0.4.1.tar.gz" } ] }