我仍然使用Django 1.2.1,我认为用较新的Django我们不会import unittest
,然后做unittest.TestCase
。django.test.TestCase与unittest的区别vs django.utils.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,第二个是略微更有效。
下面是该关系diagram:
所以django.utils.unittest
并从任unittest
或unittest2
django.test
继承。
我不确定以下内容是否正确。请帮助编辑。
________________________________________________________________
| 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之前),哪一个更好?
我创建了一个Django应用程序,我已经在我的test.py文件,示例类从* * TestCase的继承和我只是进口* TestCase的*从* django.test *。如果我输入* * unittest.TestCase生成,这将是一个冲突? – eLRuLL 2013-02-05 14:46:57
@eLRuLL是的,但你可以“从django.test进口的TestCase作为DjangoTestCase”或类似的解决冲突 – 2013-02-07 21:34:26
伟大的小费事做,我不知道。 – eLRuLL 2013-02-07 22:14:26