mirror of
https://github.com/django/django.git
synced 2025-06-05 11:39:13 +00:00
Refs #12991 -- Added extra docs for the unittest2 changes made in r14139.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14140 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
121d2e3678
commit
5e319f5194
@ -108,6 +108,12 @@ their deprecation, as per the :ref:`Django deprecation policy
|
|||||||
:attr:`~django.test.client.Response.templates` attribute should be
|
:attr:`~django.test.client.Response.templates` attribute should be
|
||||||
used instead.
|
used instead.
|
||||||
|
|
||||||
|
* The features of the :class:`django.test.simple.DjangoTestRunner`
|
||||||
|
(including fail-fast and Ctrl-C test termination) can now be provided
|
||||||
|
by the unittest-native :class:`TextTestRunner`. The
|
||||||
|
:class:`~django.test.simple.DjangoTestRunner` will be removed in
|
||||||
|
favor of using the unittest-native class.
|
||||||
|
|
||||||
* 2.0
|
* 2.0
|
||||||
* ``django.views.defaults.shortcut()``. This function has been moved
|
* ``django.views.defaults.shortcut()``. This function has been moved
|
||||||
to ``django.contrib.contenttypes.views.shortcut()`` as part of the
|
to ``django.contrib.contenttypes.views.shortcut()`` as part of the
|
||||||
|
@ -1431,6 +1431,61 @@ manually, assign the empty list to ``mail.outbox``::
|
|||||||
# Empty the test outbox
|
# Empty the test outbox
|
||||||
mail.outbox = []
|
mail.outbox = []
|
||||||
|
|
||||||
|
Skipping tests
|
||||||
|
--------------
|
||||||
|
|
||||||
|
.. versionadded:: 1.3
|
||||||
|
|
||||||
|
The unittest library provides the ``@skipIf`` and ``@skipUnless``
|
||||||
|
decorators to allow you to skip tests if you know ahead of time that
|
||||||
|
those tests are going to fail under certain conditions.
|
||||||
|
|
||||||
|
For example, if your test requires a particular optional library in
|
||||||
|
order to succeed, you could decorate the test case with ``@skipIf``.
|
||||||
|
Then, the test runner will report that the test wasn't executed and
|
||||||
|
why, instead of failing the test or omitting the test altogether.
|
||||||
|
|
||||||
|
To supplement these test skipping behaviors, Django provides two
|
||||||
|
additional skip decorators. Instead of testing a generic boolean,
|
||||||
|
these decorators check the capabilities of the database, and skip the
|
||||||
|
test if the database doesn't support a specific named feature.
|
||||||
|
|
||||||
|
The decorators use a string identifier to describe database features.
|
||||||
|
This string corresponds to attributes of the database connection
|
||||||
|
features class. See :class:`~django.db.backends.BaseDatabaseFeatures`
|
||||||
|
class for a full list of database features that can be used as a basis
|
||||||
|
for skipping tests.
|
||||||
|
|
||||||
|
skipIfDBFeature
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Skip the decorated test if the named database feature is supported.
|
||||||
|
|
||||||
|
For example, the following test will not be executed if the database
|
||||||
|
supports transactions (e.g., it would *not* run under PostgreSQL, but
|
||||||
|
it would under MySQL with MyISAM tables)::
|
||||||
|
|
||||||
|
class MyTests(TestCase):
|
||||||
|
@skipIfDBFeature('supports_transactions')
|
||||||
|
def test_transaction_behavior(self):
|
||||||
|
# ... conditional test code
|
||||||
|
|
||||||
|
skipUnlessDBFeature
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Skip the decorated test if the named database feature is *not*
|
||||||
|
supported.
|
||||||
|
|
||||||
|
For example, the following test will not be executed if the database
|
||||||
|
supports transactions (e.g., it would run under PostgreSQL, but *not*
|
||||||
|
under MySQL with MyISAM tables)::
|
||||||
|
|
||||||
|
class MyTests(TestCase):
|
||||||
|
@skipUnlessDBFeature('supports_transactions')
|
||||||
|
def test_transaction_behavior(self):
|
||||||
|
# ... conditional test code
|
||||||
|
|
||||||
|
|
||||||
Using different testing frameworks
|
Using different testing frameworks
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user