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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file django_bench_runner-0.1.1.tar.gz.

File metadata

File hashes

Hashes for django_bench_runner-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d1cf8417bc343e7951a37b48f408f10ab21c4c896ab2a8bfebe4b86a3f43bc34
MD5 a6efa6c358cdaad8baca116cf8617802
BLAKE2b-256 90f22bb2b42c90b778306a3a09f08826a91542c818f86991ba202b8bda843add

See more details on using hashes here.

File details

Details for the file django_bench_runner-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_bench_runner-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 17692abd4fb26f94f84318b6cf759028be0a425fdab6023d3eeb7df0b0f996d0
MD5 f4903acb5c4e5dd90789469a99b4dacc
BLAKE2b-256 0a0fcb3208df5091d8efeccc04b4d6c8ec287956c03fd386ca305ac7c9ae7ace

See more details on using hashes here.

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