北京中科白癜风医院爱心分享会 http://baidianfeng.39.net/a_yyxw/160501/4842705.html今天和大家盘点一下,python的三大候选框架:zope.testing、nose、py.test。以下这三种Python测试框架是目前使用最为广泛的。这些框架支持更简单的测试方法,让项目不再需要为运行测试编写和维护专门的代码。对比一下这三种框架,nose看起来会成为标准,py.test的用户群比较小,但是很忠诚,zope.testing只在基于Zope框架的项目中受欢迎。同时这三个的一个关键特性是,它们都可以搜索项目的源代码树,寻找项目的所有测试,所以不需要集中的测试列表。现在具体来看下以下的详细情况:1、zope.testing对于zope.testing框架,您会发现Zope社区有一些有意思的现象。Zope社区并不为解决每个问题构建大型工具。而是构建小型的功能有限的工具,这些工具能够连接在一起。目前,zope.testing模块本身实际上根本没有提供检测测试的机制!相反,zope.testing让程序员自己寻找每个模块中需要运行的测试并把它们集中在一个列表中。它在每个测试模块中只寻找一个东西:test_suite()函数,这个函数应该返回标准unittest.TestSuite类的实例,其中包含模块定义的测试。使用zope.testing的一些程序员在test_suite()函数中手工地创建和维护测试列表。其他程序员通过编写定制代码发现已经定义的可用测试。但是,最有意思的方法是使用另一个Zope包z3c.testsetup,它能够像其他现代Python测试框架一样自动地发现包中的测试。2、py.test年,HolgerKrekel把他的std包改名为‘py’,因为原来的名称常常与Python附带的标准库混淆。尽管这个包包含另外几个子包,但是现在最著名的部分只有它的py.test框架。py.test框架建立了Python测试的新标准,目前许多开发人员都采用这种标准。它为编写测试提供了优雅的符合Python风格的习惯做法,让开发人员能够以非常紧凑的风格编写测试套件。3、nosenose项目是于年发布的,也就是py.test改名后的一年。它是由JasonPellerin编写的,支持与py.test相同的测试习惯做法,但是这个包更容易安装和维护。尽管py.test在某些方面有所进步,目前也很容易安装,但是nose仍然保持了易用性方面的声誉。在Python大会上,常常会看到开发人员穿着黑色T恤衫,上面印着nosetests命令,后面是表示测试成功的点号。有意思的是,随着nose的发展,在项目邮件列表上常常看到开发人员向项目负责人询问他们的项目什么时候可以转换到nose。
转载请注明:http://www.aierlanlan.com/rzgz/7270.html