django-slowtests
.. image:: https://travis-ci.org/realpython/django-slow-tests.svg?branch=master
:target: https://travis-ci.org/realpython/django-slow-tests
.. image:: https://coveralls.io/repos/realpython/django-slow-tests/badge.svg?branch=master
:target: https://coveralls.io/r/realpython/django-slow-tests?branch=master
.. image:: https://img.shields.io/pypi/v/django-slowtests.svg
:target: https://pypi.python.org/pypi/django-slowtests/
.. image:: https://img.shields.io/badge/license-MIT-blue.svg
:target: https://pypi.python.org/pypi/django-slowtests/
Welcome!
Welcome to the documentation for django-slowtests!
*Code tested on Django 1.6, 1.7, 1.8, 1.9, 1.10 and 1.11 with Python 2.7 and 3.6
Instructions
-
Install::
$ pip install django-slowtests
-
Add the following settings::
TEST_RUNNER = 'django_slowtests.testrunner.DiscoverSlowestTestsRunner'
NUM_SLOW_TESTS = 10
(Optional)
SLOW_TEST_THRESHOLD_MS = 200 # Only show tests slower than 200ms
(Optional)
ALWAYS_GENERATE_SLOW_REPORT = False # Generate report only when requested using --slowreport flag
-
Run test suite::
$ python manage.py test
3.1. Save report to file::
$ python manage.py test --slowreportpath report.json
3.2. Generating full reports to file::
In some situations, you may need to generate full tests reports. To do so,
set NUM_SLOW_TESTS to None in your settings and run the following command:
$ python manage.py test --slowreportpath report.json
-
Sample output::
$ python manage.py test
Creating test database for alias 'default'...
..........
Ran 10 tests in 0.413s
OK
Destroying test database for alias 'default'...
Ten slowest tests:
0.3597s test_detail_view_with_a_future_poll (polls.tests.PollIndexDetailTests)
0.0284s test_detail_view_with_a_past_poll (polls.tests.PollIndexDetailTests)
0.0068s test_index_view_with_a_future_poll (polls.tests.PollViewTests)
0.0047s test_index_view_with_a_past_poll (polls.tests.PollViewTests)
0.0045s test_index_view_with_two_past_polls (polls.tests.PollViewTests)
0.0041s test_index_view_with_future_poll_and_past_poll (polls.tests.PollViewTests)
0.0036s test_index_view_with_no_polls (polls.tests.PollViewTests)
0.0003s test_was_published_recently_with_future_poll (polls.tests.PollMethodTests)
0.0002s test_was_published_recently_with_recent_poll (polls.tests.PollMethodTests)
0.0002s test_was_published_recently_with_old_poll (polls.tests.PollMethodTests)
Running the Tests
You can run the tests via::
$ python setup.py test
or::
$ make test
or::
$ make all
or::
$ python runtests.py
Known Issues
License
This code is distributed under the terms of the MIT license. See the LICENSE
file.