Fixed #14378 -- Made the test client class customizable. Thanks to Ned Batchelder for the patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@14058 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2010-10-09 04:50:47 +00:00
parent 816c7d1e64
commit b7a73cf929
3 changed files with 41 additions and 1 deletions

View file

@ -1086,6 +1086,30 @@ This means, instead of instantiating a ``Client`` in each test::
response = self.client.get('/customer/index/')
self.failUnlessEqual(response.status_code, 200)
Customizing the test client
~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. versionadded:: 1.3
.. attribute:: TestCase.client_class
If you want to use a different Client class (for example, a subclass
with customized behavior), you can use the
:attr:`~TestCase.client_class` class attribute to specify a custom
``Client`` class in your test case::
from django.test import TestCase
from django.test.client import Client
class MyTestClient(Client):
# .. specialized methods for your environment ..
class MyTest(TestCase):
client_class = MyTestClient
def test_my_stuff(self):
# .. Here self.client is an instance of MyTestClient ..
.. _topics-testing-fixtures:
Fixture loading