difference between django.test.TestCase vs unittest vs django.utils.unittest.TestCase
我仍在使用Django 1.2.1,并且我认为对于较新的Django,我们先不要
插图
1 2 3 4 5 6 7 8 | import unittest class TestThis(unittest.TestCase): from django.utils.unittest import TestCase class TestThis(TestCase): from django.test import TestCase class TestThis(TestCase): |
根据PyCon2011的说法,第二个效率更高。
这是显示关系的图:
因此
我不确定以下是否正确。 请帮助编辑。
1 2 3 4 5 6 7 8 9 10 11 | ________________________________________________________________ | 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开发人员在测试时都会嘲笑,因此有时甚至不需要数据库。 运行
Django的
- 自动加载夹具。
- 在事务中包装每个测试。
- 创建一个TestClient实例。
- 特定于Django的断言,用于测试诸如重定向和格式错误之类的事情。
一般来说,您最有可能使用Django的TestCase子类之一。通常这是
使用
也:
如果您只是在寻找一种可以更快地运行测试的方法,请看看在内存中运行测试,并且(如果您使用的是South),请设置