Hi,

When creating self.client in TestCase, it would be very useful if the 
testcase instance was passed to the client. 

I'm using a replacement client class that does various validation checks, 
so wants to use assert* functions on TestCase, thus takes a testcase 
instance as a parameter at creation time. However this means it can't be 
used as the client_class attribute on TestCase, as this is instantiated 
with no parameters 
(https://github.com/django/django/blob/master/django/test/testcases.py#L475)

There are work-arounds, but it feels to me like a reasonably generic 
requirement that a test client may want to refer to the test case it's 
being used with. I think the change can be made largely backwardly 
compatible by changing to:

self.client = self.client_class(testcase=self)

which would only break an existing replacement client class that had an 
__init__ method without **kwargs.

I'm happy to code this up, but wanted to check for any objections first.

Cheers,

Malcolm

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/django-developers/-/j2agzjXZajsJ.
To post to this group, send email to django-developers@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to