django-hotrunner /

Filename Size Date modified Message
54 B
235 B
1.3 KB
2.8 KB
6.5 KB
1.3 KB

HotRunner

HotRunner is an improved django test runner.

To install HotRunner, pip install django-hotrunner.

To use HotRunner, set TEST_RUNNER = 'hotrunner.HotRunner' in your django settings file. This enables three useful features:

  • Test exclusion: None of the django.contrib tests will be run when you run your test suite. Neither will any apps you specify in the EXCLUDED_TEST_APPS setting. You can override this without deleting your EXLUDED_TEST_APPS, by setting TEST_ALL_APPS to a true value. django.contrib apps will still not be run. To run them, specify them by name on the manage.py command line: python manage.py test django.contrib.auth

  • Test timing: Find out how long each test is running simply by setting your verbosity to 2 or higher. The time it takes to run each successful test will be reported at microsecond granularity:

    $ python manage.py test --verbosity
    test_absolute_url (news.tests.NewsModelAbsoluteURLTestCase) ... (1.103603s) ok
    test_empty_body_returns_empty_html (news.tests.NewsModelMarkdownTestCase) ... (0.000215s) ok
    test_markdown_saved_to_html (news.tests.NewsModelMarkdownTestCase) ... (0.014008s) ok
    test_unicode_markdown_converted_appropriately (news.tests.NewsModelMarkdownTestCase) ... (0.000803s) ok
    test_unicode_strings_must_be_decoded (news.tests.NewsModelMarkdownTestCase) ... (0.000683s) ok
    test_basic_slug_creation (news.tests.NewsModelSlugificationTestCase) ... (0.001656s) ok
    test_existing_slugs_do_not_get_overridden (news.tests.NewsModelSlugificationTestCase) ... (0.000307s) ok
    test_slugifying_disambiguates_slugs (news.tests.NewsModelSlugificationTestCase) ... ERROR
    

    Tests that get skipped will not report time, as the information is not relevant.

  • XUnit style XML output. If you set HOTRUNNER_XUNIT_FILENAME to the path to a writeable file, HotRunner will write an XML document of test results to that file. This makes it easy to integrate your project with, for instance, a Jenkins continuous integration job. This functionality was previously available via the django-jux project. If you are upgrading from django-jux, you can still use the old setting name of JUXD_FILENAME, though this is now deprecated, and may disappear at some point in the future.

Dependencies

HotRunner is built for integration with Django as a replacement for its custom test runner. It builds on functionality in unittest2, so it only works with Django 1.3 or higher.

Changelog

0.2.0

Added XUnit-style output, as previously implemented in django-jux.

0.1.1

Fixed problem that prevented graceful test abort using ^C on certain python versions.

0.1.0

Initial release. Features app exclusion and individual test timing.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.