Python 测试框架的选择
python testing framework.
如何选择一个易用、主流的测试框架?下面是我的方法。
一、网络资源
Google 上搜索 python testing framework 排名前三的链接分别是:
- unittest — Unit testing framework
python 标准库自带的单元测试框架。 - PythonTestingToolsTaxonomy - Python Wiki
列举了许多 python 测试框架库,并进行了简单的介绍。 - Python Testing - Python Test Frameworks and Strategies python 测试框架的文章汇总,主要介绍 unitest/nose/pytest。
另外,IBM developerWorks 上的 Python 测试框架: 用 Python 测试框架简化测试 介绍了 zope.testing/pytest/nose 框架。
二、源码库
在 github 上查看目前主流 python 项目使用的测试框架。每个 python 项目都有 tests(或者类似)目录,查看其中的源码就能知道具体采用的测试框架是什么。
限于时间,我仅查看了 Python Packaging Authority 和 Pocoo 这两个开发组织的项目。
- pip 采用的是 pytest;
- virtualdev 采用的是 pytest;
- flask 采用的是 pytest;
- jinjia2 采用的是 unittest;
- sphinx 采用的是 nose。
三、PyPI
PyPI 中的每个库,都有下载次数。根据下载次数可以得知库的流行程度。
下面的数字是今天(2014-10-09)统计的上月下载次数。
- zope.testing 11,263
- pytest 204,190
- py 311,705
- nose 1,105,383
因为 pytest 已经整合进入 py ,所以上面提供这两个包的下载次数。
四、我的选择
虽然我更偏向于使用标准库,但观察了 unittest 的写法,发现还是比较繁琐。
nose 看起来似乎更加流行。就它了。
五、其它参考
- 文章ID:2170
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/python_testing_framewrok/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。