我正在构建一个 Django 应用程序,并且正在尝试决定如何为我的代码设置单元测试。查看 Django 文档,我看到单元测试有两个选项,Python2.7 的内置测试和 Django 的自定义 TestCase 类。在尝试查看使用哪一个时,Django 似乎只列出了 Python 的好处(https://docs.djangoproject.com/en/dev/topics/testing/?from=olddocs#which-should-i-use)。
哪个单元测试框架更可取?
我正在构建一个 Django 应用程序,并且正在尝试决定如何为我的代码设置单元测试。查看 Django 文档,我看到单元测试有两个选项,Python2.7 的内置测试和 Django 的自定义 TestCase 类。在尝试查看使用哪一个时,Django 似乎只列出了 Python 的好处(https://docs.djangoproject.com/en/dev/topics/testing/?from=olddocs#which-should-i-use)。
哪个单元测试框架更可取?
简短的回答:使用 Django TestCase
。它完成了 pythonunittest.TestCase
可以做的所有事情,甚至更多。
python 和 DjangoTestCase
类都用于单元测试。您链接到的“我应该使用哪个”部分是将单元测试与文档测试进行比较。
DjangoTestCase
只是 python 的扩展unittest.TestCase
。如果您使用的是早期版本的 Python,那么 DjangoTestCase
允许您使用一些简洁的功能,例如assertRaisesExp
仅适用于unittest.TestCase
python 2.7 的功能。
由于您使用的是 Python 2.7,因此您不需要使用 DjangoTestCase
来获得 Python 2.7 的功能,但是仍然有很多额外的功能,例如夹具加载,这意味着您应该使用 Django TestCase
。