Skip to main content

Locate slow tests in your django project.

Project description

Build Status Downloads

Django Bench Runner is a drop-in enhancement of the default django test runner that times how long it takes to run individual tests. It helps detect tests that might need optimization.

Installation

pip install django-bench-runner

In settings.py, add:

TEST_RUNNER = 'django_bench_runner.runner.BenchRunner'

Usage

Add the -b (or --benchmark) flag when running your tests.

Colorization

Tests that run under .5 seconds are colored green. The resulting tests are divvied into 3 groups. The fastest third (yellow), the middle third (magenta), and the slowest third (red). Red tests do not mean the tests are necessarily bad or in critical need of a speedup. It is just a graphical way to identify the various times of the tests.

Example Output

$ ./manage.py test core.tests.test_transfer_money -b --keepdb
Using existing test database for alias 'default'...
..

Test                                                              Runtime    Percent
--------------------------------------------------------------  ---------  ---------

core.tests.test_transfer_money.TestReleaseAmounts
: test_wells_fargo                                                8.25052     47.81%
: test_wells_fargo_exempt_from_prefunding                         9.00663     52.19%
---------------------------                                       -------    -------
TestReleaseAmounts                                               17.25715    100.00%

----------------------------------------------------------------------
Ran 2 tests in 17.262s

OK

Django compatibility

Tested and working in Django 1.8 and 1.9.

Credits

Special thanks Sergey Astanin for `tabulate <https://pypi.python.org/pypi/tabulate>`__

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_bench_runner-0.1.1.tar.gz (13.1 kB view hashes)

Uploaded Source

Built Distribution

django_bench_runner-0.1.1-py2.py3-none-any.whl (14.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page