diferencia entre django.test.TestCase vs unittest vs django.utils.unittest.TestCase

Todavía estoy usando Django 1.2.1, y creo que con el Django más nuevo no lo hacemosimport unittest y luego hacerunittest.TestCase.

Ilustración

<code>import unittest
class TestThis(unittest.TestCase):

from django.utils.unittest import TestCase
class TestThis(TestCase):

from django.test import TestCase
class TestThis(TestCase):
</code>

De acuerdo aPyCon2011 hablar, el segundo esligeramente más eficiente.

Aquí está eldiagrama mostrando las relaciones:

Asi quedjango.utils.unittest ydjango.test heredar de cualquieraunittest ounittest2.

No estoy seguro si lo siguiente es correcto o no. Por favor ayuda a editar.

<code> ________________________________________________________________
|  Name                   |  Django Version  |  Python Version  |
-----------------------------------------------------------------
|  unittest               |     >= 1.0       |      >= 2.6      |
-----------------------------------------------------------------
|  django.utils.unittest  |     >= 1.3       |       ??         |
-----------------------------------------------------------------
|  django.test            |     >= 1.0       |      >= 2.6      |
|   - SimpleTestCase            >= 1.4              >= 2.7      |
|   - LiveServerTestCase        >= 1.4              >= 2.7      |
-----------------------------------------------------------------
</code>

En términos de eficiencia, ¿cuál de los tres es mejor? Muchos desarrolladores de Django se burlan cuando prueban, por lo que a veces las bases de datos ni siquiera son necesarias. ¿Hay una manera de no crear tablas cuando ejecutamosmanage.py test myapp.MyClass ? Para la versión anterior (anterior a la 1.3), ¿cuál es mejor?

Respuestas a la pregunta(1)

Su respuesta a la pregunta