【发布时间】:2012-04-21 07:58:42
【问题描述】:
我仍在使用 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,第二个稍微效率更高。
这是显示关系的diagram:
所以django.utils.unittest 和django.test 继承自unittest 或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 之前),哪个更好?
【问题讨论】:
标签: django django-testing