#7487 closed (invalid)
Test Client's Response lacks context/template when using Doctests
Reported by: | DanielLindsley | Owned by: | Jacob |
---|---|---|---|
Component: | Testing framework | Version: | dev |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
When using 'django.test.client.Client' in conjunction with doctests, the response that comes back from the client will be without the 'context' or 'template' variables. This occurs because the 'template_rendered' signal doesn't seem to fire. The doctest code I am using is:
>>> from django.test import Client >>> c = Client() >>> r = c.get('/weather/') >>> r.status_code 200 >>> r.context[-1]['station'].id 1
Without the attached patch, 'r.context' is set to None (via an else case - 'setattr(response, detail, None)' in the Client's request method).
The context/template variables are never set because the 'template_rendered' signal doesn't fire as it has not been imported, thus failing to be connected. This only occurs when using doctests; unittests seem to act differently and aren't affected by this. The attached diff works with both doctests & unittests.
This is not a duplicate of ticket #3051, as these tests are being run from both 'manage.py test' as well as 'manage.py shell'.
Attachments (1)
Change History (5)
by , 16 years ago
Attachment: | doctest_client_fix.diff added |
---|
comment:1 by , 16 years ago
Correction: as these tests are being run from 'manage.py test', not 'manage.py shell'.
comment:2 by , 16 years ago
milestone: | 1.0 alpha → 1.0 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
Triage Stage: | Unreviewed → Accepted |
comment:3 by , 16 years ago
Resolution: | → invalid |
---|---|
Status: | assigned → closed |
Can't recreate with the original code or a simple test case. Closing.
Patch For Client