There is really a bigger question in my mind about the appropriateness of using 
django.utils.unittest in the testing overview section.  It is an optimization 
that the warning admits is fairly limited for real testing and is premature for 
the first example.  It would be better to break out the optimization as a Note 
"if your tests don't rely on database access, you can ... optimize with 
django.utils import...".  The testing overview section should import the class 
that works correctly when testing Animal.objects.create() or self.lion.save().

It's also not a case of catering.  Enclosed is a link to a screen shot that 
starts with "Writing tests" and ends with "For more details about unittest, see 
the Python documentation".
https://www.dropbox.com/s/9eh2zgkxphc5rvo/django_test_doc_screen.png
Nowhere on that first screen of documentation on a 20 inch monitor does it 
refer to django.test.TestCase and "For more details..." reads like the end of 
the section.  It's really easy to not see the warning and the first two 
examples of what someone glancing at the docs to manually create a tests.py 
file will read is "from django.utils import unittest". which causes a very 
non-obvious unit test failures in the most typical test cases.  

Thanks for reconsidering the patch!  Lorin's version is much clearer.
Brian

On Mar 25, 2013, at 2:08 PM, Tim Graham <[email protected]> wrote:

> It seems like it could be a dangerous precedent to cater to people who don't 
> take the time to fully read the docs, but in this case I'm a bit sympathetic. 
> On the other hand, this example will probably be a bit more obvious when we 
> drop support for Python 2.6 and no longer have django.utils.unittest. At the 
> least, we could probably move the warning above the example so it's a bit 
> more visible.
> 
> On Saturday, March 16, 2013 8:27:01 PM UTC-4, Lorin Hochstein wrote:
> Hi there:
> 
> On the Django testing overview doc page 
> <https://docs.djangoproject.com/en/dev/topics/testing/overview/>, the initial 
> example uses unittest.TestCase. A Django developer who was looking for a 
> quick reminder on how to write unit tests is likely to hit this page first. 
> If that developer doesn't read the "warning" section below, they could 
> mistakenly use unittest.TestCase when their unit tests change  the database. 
> This very scenario happened to a colleague of mine.
> 
> I proposed changing this to django.test.TestCase 
> <https://github.com/django/django/pull/903>, but that pull request with 
> closed out by Aymeric Augustin, with reference to 
> <https://code.djangoproject.com/ticket/15896>. I don't think ticket #15986 
> covers quite the same issue, despite its title. Django devs, can you 
> reconsider this doc patch?
> 
> Take care,
> 
> Lorin
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Django developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/django-developers?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-developers?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to