Fixed #30245 -- Added -k option to DiscoverRunner.

This commit is contained in:
François Freitag 2019-03-07 21:58:30 +01:00 committed by Mariusz Felisiak
parent 719b746620
commit 568eed9e79
7 changed files with 99 additions and 8 deletions

View file

@ -1360,7 +1360,7 @@ The ``test`` command receives options on behalf of the specified
:option:`--testrunner`. These are the options of the default test runner:
:class:`~django.test.runner.DiscoverRunner`.
.. django-admin-option:: --keepdb, -k
.. django-admin-option:: --keepdb
Preserves the test database between test runs. This has the advantage of
skipping both the create and destroy actions which can greatly decrease the
@ -1438,6 +1438,18 @@ May be specified multiple times and combined with :option:`test --exclude-tag`.
Excludes tests :ref:`marked with the specified tags <topics-tagging-tests>`.
May be specified multiple times and combined with :option:`test --tag`.
.. django-admin-option:: -k TEST_NAME_PATTERNS
.. versionadded:: 3.0
Runs test methods and classes matching test name patterns, in the same way as
:option:`unittest's -k option<unittest.-k>`. Can be specified multiple times.
.. admonition:: Python 3.7 and later
This feature is only available for Python 3.7 and later.
``testserver``
--------------

View file

@ -238,6 +238,9 @@ Tests
attribute :attr:`~django.test.Response.exc_info`, a tuple providing
information of the exception that occurred.
* Tests and test cases to run can be selected by test name pattern using the
new :option:`test -k` option.
URLs
~~~~
@ -360,6 +363,9 @@ Miscellaneous
This converts ``'`` to ``&#x27;`` instead of the previous equivalent decimal
code ``&#39;``.
* The ``django-admin test -k`` option now works as the :option:`unittest
-k<unittest.-k>` option rather than as a shortcut for ``--keepdb``.
.. _deprecated-features-3.0:
Features deprecated in 3.0

View file

@ -424,7 +424,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,
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_mode=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, test_name_patterns=None, **kwargs)
``DiscoverRunner`` will search for tests in any file matching ``pattern``.
@ -463,6 +463,9 @@ execute and tear down the test suite.
as the traceback. If ``verbosity`` is ``2``, then queries in all tests are
output.
``test_name_patterns`` can be used to specify a set of patterns for
filtering test methods and classes by their names.
Django may, from time to time, extend the capabilities of the test runner
by adding new arguments. The ``**kwargs`` declaration allows for this
expansion. If you subclass ``DiscoverRunner`` or write your own test