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?