From b7a73cf9296a2629a45d4b303c2b9207d3c71c40 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Sat, 9 Oct 2010 04:50:47 +0000 Subject: 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 --- docs/topics/testing.txt | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'docs') diff --git a/docs/topics/testing.txt b/docs/topics/testing.txt index 28e67b438c..28411ab05f 100644 --- a/docs/topics/testing.txt +++ b/docs/topics/testing.txt @@ -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 -- cgit v1.3