Fixed #27035 -- Eased changing settings.DEBUG for DiscoverRunner.
This commit is contained in:
parent
ac1975b18b
commit
a3a5ef4d0e
|
@ -360,7 +360,7 @@ class DiscoverRunner(object):
|
||||||
|
|
||||||
def __init__(self, pattern=None, top_level=None, verbosity=1,
|
def __init__(self, pattern=None, top_level=None, verbosity=1,
|
||||||
interactive=True, failfast=False, keepdb=False,
|
interactive=True, failfast=False, keepdb=False,
|
||||||
reverse=False, debug_sql=False, parallel=0,
|
reverse=False, debug_mode=False, debug_sql=False, parallel=0,
|
||||||
tags=None, exclude_tags=None, **kwargs):
|
tags=None, exclude_tags=None, **kwargs):
|
||||||
|
|
||||||
self.pattern = pattern
|
self.pattern = pattern
|
||||||
|
@ -370,6 +370,7 @@ class DiscoverRunner(object):
|
||||||
self.failfast = failfast
|
self.failfast = failfast
|
||||||
self.keepdb = keepdb
|
self.keepdb = keepdb
|
||||||
self.reverse = reverse
|
self.reverse = reverse
|
||||||
|
self.debug_mode = debug_mode
|
||||||
self.debug_sql = debug_sql
|
self.debug_sql = debug_sql
|
||||||
self.parallel = parallel
|
self.parallel = parallel
|
||||||
self.tags = set(tags or [])
|
self.tags = set(tags or [])
|
||||||
|
@ -413,7 +414,7 @@ class DiscoverRunner(object):
|
||||||
|
|
||||||
def setup_test_environment(self, **kwargs):
|
def setup_test_environment(self, **kwargs):
|
||||||
setup_test_environment()
|
setup_test_environment()
|
||||||
settings.DEBUG = False
|
settings.DEBUG = self.debug_mode
|
||||||
unittest.installHandler()
|
unittest.installHandler()
|
||||||
|
|
||||||
def build_suite(self, test_labels=None, extra_tests=None, **kwargs):
|
def build_suite(self, test_labels=None, extra_tests=None, **kwargs):
|
||||||
|
|
|
@ -259,6 +259,10 @@ Tests
|
||||||
* Added :meth:`.DiscoverRunner.get_test_runner_kwargs` to allow customizing the
|
* Added :meth:`.DiscoverRunner.get_test_runner_kwargs` to allow customizing the
|
||||||
keyword arguments passed to the test runner.
|
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.
|
||||||
|
|
||||||
URLs
|
URLs
|
||||||
~~~~
|
~~~~
|
||||||
|
|
||||||
|
|
|
@ -427,7 +427,7 @@ behavior. This class defines the ``run_tests()`` entry point, plus a
|
||||||
selection of other methods that are used to by ``run_tests()`` to set up,
|
selection of other methods that are used to by ``run_tests()`` to set up,
|
||||||
execute and tear down the test suite.
|
execute and tear down the test suite.
|
||||||
|
|
||||||
.. class:: DiscoverRunner(pattern='test*.py', top_level=None, verbosity=1, interactive=True, failfast=False, keepdb=False, reverse=False, debug_sql=False, **kwargs)
|
.. class:: DiscoverRunner(pattern='test*.py', top_level=None, verbosity=1, interactive=True, failfast=False, keepdb=False, reverse=False, debug_mode=False, debug_sql=False, **kwargs)
|
||||||
|
|
||||||
``DiscoverRunner`` will search for tests in any file matching ``pattern``.
|
``DiscoverRunner`` will search for tests in any file matching ``pattern``.
|
||||||
|
|
||||||
|
@ -458,6 +458,9 @@ execute and tear down the test suite.
|
||||||
and have side effects. :ref:`Grouping by test class <order-of-tests>` is
|
and have side effects. :ref:`Grouping by test class <order-of-tests>` is
|
||||||
preserved when using this option.
|
preserved when using this option.
|
||||||
|
|
||||||
|
``debug_mode`` specifies what the :setting:`DEBUG` setting should be
|
||||||
|
set to prior to running tests.
|
||||||
|
|
||||||
If ``debug_sql`` is ``True``, failing test cases will output SQL queries
|
If ``debug_sql`` is ``True``, failing test cases will output SQL queries
|
||||||
logged to the :ref:`django.db.backends logger <django-db-logger>` as well
|
logged to the :ref:`django.db.backends logger <django-db-logger>` as well
|
||||||
as the traceback. If ``verbosity`` is ``2``, then queries in all tests are
|
as the traceback. If ``verbosity`` is ``2``, then queries in all tests are
|
||||||
|
@ -473,6 +476,10 @@ execute and tear down the test suite.
|
||||||
custom arguments by calling ``parser.add_argument()`` inside the method, so
|
custom arguments by calling ``parser.add_argument()`` inside the method, so
|
||||||
that the :djadmin:`test` command will be able to use those arguments.
|
that the :djadmin:`test` command will be able to use those arguments.
|
||||||
|
|
||||||
|
.. versionadded:: 1.11
|
||||||
|
|
||||||
|
The ``debug_mode`` keyword argument was added.
|
||||||
|
|
||||||
Attributes
|
Attributes
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -526,7 +533,7 @@ Methods
|
||||||
|
|
||||||
Sets up the test environment by calling
|
Sets up the test environment by calling
|
||||||
:func:`~django.test.utils.setup_test_environment` and setting
|
:func:`~django.test.utils.setup_test_environment` and setting
|
||||||
:setting:`DEBUG` to ``False``.
|
:setting:`DEBUG` to ``self.debug_mode`` (defaults to ``False``).
|
||||||
|
|
||||||
.. method:: DiscoverRunner.build_suite(test_labels, extra_tests=None, **kwargs)
|
.. method:: DiscoverRunner.build_suite(test_labels, extra_tests=None, **kwargs)
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,10 @@ def change_cwd(directory):
|
||||||
|
|
||||||
class DiscoverRunnerTest(TestCase):
|
class DiscoverRunnerTest(TestCase):
|
||||||
|
|
||||||
|
def test_init_debug_mode(self):
|
||||||
|
runner = DiscoverRunner()
|
||||||
|
self.assertFalse(runner.debug_mode)
|
||||||
|
|
||||||
def test_dotted_test_module(self):
|
def test_dotted_test_module(self):
|
||||||
count = DiscoverRunner().build_suite(
|
count = DiscoverRunner().build_suite(
|
||||||
["test_discovery_sample.tests_sample"],
|
["test_discovery_sample.tests_sample"],
|
||||||
|
|
Loading…
Reference in New Issue