0
0
mirror of https://github.com/django/django.git synced 2024-11-29 06:03:25 +01:00

Fixed #27008 -- Added --debug-mode option to DiscoverRunner.

This commit is contained in:
Chris Jerdonek 2016-08-10 10:46:54 -07:00 committed by Tim Graham
parent 9556005425
commit 5890b1613c
4 changed files with 23 additions and 3 deletions

View File

@ -393,6 +393,10 @@ class DiscoverRunner(object):
'-r', '--reverse', action='store_true', dest='reverse', default=False,
help='Reverses test cases order.',
)
parser.add_argument(
'--debug-mode', action='store_true', dest='debug_mode', default=False,
help='Sets settings.DEBUG to True.',
)
parser.add_argument(
'-d', '--debug-sql', action='store_true', dest='debug_sql', default=False,
help='Prints logged SQL queries on failure.',

View File

@ -1254,6 +1254,13 @@ Sorts test cases in the opposite execution order. This may help in debugging
the side effects of tests that aren't properly isolated. :ref:`Grouping by test
class <order-of-tests>` is preserved when using this option.
.. django-admin-option:: --debug-mode
.. versionadded:: 1.11
Sets the :setting:`DEBUG` setting to ``True`` prior to running tests. This may
help troubleshoot test failures.
.. django-admin-option:: --debug-sql, -d
Enables :ref:`SQL logging <django-db-logger>` for failing tests. If

View File

@ -269,9 +269,8 @@ Tests
* Added :meth:`.DiscoverRunner.get_test_runner_kwargs` to allow customizing the
keyword arguments passed to the test runner.
* Added the ``debug_mode`` keyword argument to
:class:`~django.test.runner.DiscoverRunner` to make it easier to customize
the :setting:`DEBUG` setting when running tests.
* Added the :option:`test --debug-mode` option to help troubleshoot test
test failures by setting the :setting:`DEBUG` setting to ``True``.
URLs
~~~~

View File

@ -1,4 +1,5 @@
import os
from argparse import ArgumentParser
from contextlib import contextmanager
from unittest import TestSuite, TextTestRunner, defaultTestLoader
@ -24,6 +25,15 @@ class DiscoverRunnerTest(TestCase):
runner = DiscoverRunner()
self.assertFalse(runner.debug_mode)
def test_add_arguments_debug_mode(self):
parser = ArgumentParser()
DiscoverRunner.add_arguments(parser)
ns = parser.parse_args([])
self.assertFalse(ns.debug_mode)
ns = parser.parse_args(["--debug-mode"])
self.assertTrue(ns.debug_mode)
def test_dotted_test_module(self):
count = DiscoverRunner().build_suite(
["test_discovery_sample.tests_sample"],