On 23/08/2012 4:27pm, akaariai wrote:
On 23 elo, 08:30, Mike Dewhirst <mi...@dewhirst.com.au> wrote:
This ... [1]
from django.db import connection
connection._rollback()
... solved a problem for me in unit testing when I catch a deliberate
DatabaseError.
Django 1.4
Python 2.7
PostgreSQL 9.1
My question: Is it safe enough to use a method with a leading underscore?
Generally no. In this specific case you might be safe. However, if you
use _commit() in Django's standard TestCase you might make your
testing DB dirty and some other test could break because of that. This
kind of bug is horrible to debug.
Is there a better method?
Use TransactionTestCase
Thanks - much appreciated
Mike
which is meant for this kind of testing. In
TransactionTestCase you can safely use .commit() and .rollback(). The
cost is slower test execution. See: [https://docs.djangoproject.com/en/
dev/topics/testing/#django.test.TransactionTestCase].
- Anssi
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.