开源测试框架那么多,自己却一直没去摸索摸索,汗颜;找各种理由不是一个正确的态度,努力补拙才是应该做的
摘抄一个IBM文档库的一篇,Link:http://www.ibm.com/developerworks/cn/aix/library/au-python_test/,决心好好研究下~!
zope.testing
通常,从事 Zope 项目的开发人员就像是早期的拓荒者。他们需要以一种统一的方式在大型代码基上发现和运行测试,为此开发了
zope.testing
包,这个包现在仍然得到广泛使用。zope.testing
包只支持unittest
和doctest
等传统 Python 测试风格,而不支持更现代的框架支持的简化风格。但是,它提供一个强大的分层系统,在这种系统中包含测试的目录可以依赖于通用的设置代码,设置代码为层(而不是每个测试)创建一个运行测试所需的环境。py.test
2004 年,Holger Krekel 把他的
std
包改名为 ‘py’,因为原来的名称常常与 Python 附带的标准库混淆。尽管这个包包含另外几个子包,但是现在最著名的部分只有它的py.test
框架。py.test
框架建立了 Python 测试的新标准,目前许多开发人员都采用这种标准。它为编写测试提供了优雅的符合 Python 风格的习惯做法,让开发人员能够以非常紧凑的风格编写测试套件。nose
nose
项目是于 2005 年发布的,也就是py.test
改名后的一年。它是由 Jason Pellerin 编写的,支持与py.test
相同的测试习惯做法,但是这个包更容易安装和维护。尽管py.test
在某些方面有所进步,目前也很容易安装,但是nose
仍然保持了易用性方面的声誉。在 Python 大会上,常常会看到开发人员穿着黑色 T 恤衫,上面印着
nosetests
命令,后面是表示测试成功的点号。有意思的是,随着nose
的发展,在项目邮件列表上常常看到开发人员向项目负责人询问他们的项目什么时候可以转换到nose
。