我仍在使用 Django 1.2.1,我认为对于较新的 Django,我们不使用import unittest
,然后使用unittest.TestCase
.
插图
import unittest
class TestThis(unittest.TestCase):
from django.utils.unittest import TestCase
class TestThis(TestCase):
from django.test import TestCase
class TestThis(TestCase):
根据PyCon2011 talk,第二个效率稍高一些。
这是显示关系的图表:
所以django.utils.unittest
并django.test
继承自unittest
or unittest2
。
我不确定以下内容是否正确。请帮忙编辑。
________________________________________________________________
| 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 |
-----------------------------------------------------------------
在效率方面,三者中哪一个更好?许多 Django 开发人员在测试时进行模拟,因此有时甚至不需要数据库。有没有办法在我们运行时不创建表manage.py test myapp.MyClass
?对于旧版本(1.3 之前),哪个更好?